summaryrefslogtreecommitdiff
path: root/core/pkg
diff options
context:
space:
mode:
authorruki <[email protected]>2016-11-30 13:40:24 +0800
committerruki <[email protected]>2016-11-30 13:40:24 +0800
commited28cfa8435139614fb6ccf0f70b09deb0e31640 (patch)
tree887a28eb9f78f36e298c964fdc24a28e2db48ef8 /core/pkg
parentf715df4627649f3bd03bf2e762d9ad7e13a98dff (diff)
modify pkg tree
Diffstat (limited to 'core/pkg')
-rw-r--r--core/pkg/luajit.pkg/lib/release/linux/i386/libluajit.a (renamed from core/pkg/luajit.pkg/lib/linux/i386/libluajit.a)bin619690 -> 619690 bytes
-rw-r--r--core/pkg/luajit.pkg/lib/release/linux/x86_64/libluajit.a (renamed from core/pkg/luajit.pkg/lib/linux/x86_64/libluajit.a)bin781080 -> 781080 bytes
-rw-r--r--core/pkg/luajit.pkg/lib/release/macosx/x86_64/libluajit.a (renamed from core/pkg/luajit.pkg/lib/macosx/x86_64/libluajit.a)bin694840 -> 694840 bytes
-rw-r--r--core/pkg/luajit.pkg/lib/release/windows/x86/luajit.lib (renamed from core/pkg/luajit.pkg/lib/windows/x86/luajit.lib)bin998806 -> 998806 bytes
-rw-r--r--core/pkg/luajit.pkg/xmake.lua2
-rwxr-xr-xcore/pkg/tbox.pkg/LICENSE.md504
-rwxr-xr-xcore/pkg/tbox.pkg/inc/linux/i386/tbox.config.h120
-rwxr-xr-xcore/pkg/tbox.pkg/inc/linux/tbox.config.h3
-rwxr-xr-xcore/pkg/tbox.pkg/inc/linux/x86_64/tbox.config.h120
-rwxr-xr-xcore/pkg/tbox.pkg/inc/macosx/x86_64/tbox.config.h118
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/aice.h482
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/aico.h681
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/aicp.h166
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/aioe.h74
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/aioo.h68
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/aiop.h143
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/dns.h97
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/http.h243
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/asio/ssl.h269
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/hash/crc.h97
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/hash/deprecated/adler32.h57
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/hash/deprecated/crc.h99
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/hash/deprecated/deprecated.h35
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/hash/deprecated/md5.h59
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/hash/deprecated/prefix.h33
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/hash/deprecated/sha.h59
-rw-r--r--core/pkg/tbox.pkg/inc/tbox/math/impl/random.h85
-rw-r--r--core/pkg/tbox.pkg/inc/tbox/math/random.h112
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/platform/arch/arm/atomic.h33
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/platform/dns.h56
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/platform/thread_store.h91
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/prefix/asm.h34
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/prefix/asm/arm/prefix.S148
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/prefix/asm/arm/prefix.h34
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/prefix/asm/asm.h35
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/prefix/asm/cache.h79
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/prefix/asm/prefix.S31
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/prefix/asm/prefix.h38
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/stream/async_stream.h724
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/stream/async_transfer.h321
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/stream/transfer_pool.h125
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/utils/adler32.h57
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/utils/crc.h97
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/utils/impl/crc_arm.h45
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/utils/md5.h95
-rwxr-xr-xcore/pkg/tbox.pkg/inc/tbox/utils/sha.h105
-rw-r--r--core/pkg/tbox.pkg/inc/windows/x86/tbox.config.h68
-rwxr-xr-xcore/pkg/tbox.pkg/lib/linux/i386/libtbox.abin671584 -> 0 bytes
-rwxr-xr-xcore/pkg/tbox.pkg/lib/linux/x86_64/libtbox.abin891688 -> 0 bytes
-rwxr-xr-xcore/pkg/tbox.pkg/lib/macosx/x86_64/libtbox.abin640856 -> 0 bytes
-rwxr-xr-xcore/pkg/tbox.pkg/lib/release/linux/x86_64/libtbox.abin0 -> 922400 bytes
-rw-r--r--core/pkg/tbox.pkg/lib/windows/x86/tbox.libbin769726 -> 0 bytes
52 files changed, 3 insertions, 5939 deletions
diff --git a/core/pkg/luajit.pkg/lib/linux/i386/libluajit.a b/core/pkg/luajit.pkg/lib/release/linux/i386/libluajit.a
index c60ee0143..c60ee0143 100644
--- a/core/pkg/luajit.pkg/lib/linux/i386/libluajit.a
+++ b/core/pkg/luajit.pkg/lib/release/linux/i386/libluajit.a
Binary files differ
diff --git a/core/pkg/luajit.pkg/lib/linux/x86_64/libluajit.a b/core/pkg/luajit.pkg/lib/release/linux/x86_64/libluajit.a
index abb51043d..abb51043d 100644
--- a/core/pkg/luajit.pkg/lib/linux/x86_64/libluajit.a
+++ b/core/pkg/luajit.pkg/lib/release/linux/x86_64/libluajit.a
Binary files differ
diff --git a/core/pkg/luajit.pkg/lib/macosx/x86_64/libluajit.a b/core/pkg/luajit.pkg/lib/release/macosx/x86_64/libluajit.a
index 73cd64373..73cd64373 100644
--- a/core/pkg/luajit.pkg/lib/macosx/x86_64/libluajit.a
+++ b/core/pkg/luajit.pkg/lib/release/macosx/x86_64/libluajit.a
Binary files differ
diff --git a/core/pkg/luajit.pkg/lib/windows/x86/luajit.lib b/core/pkg/luajit.pkg/lib/release/windows/x86/luajit.lib
index 50df1f898..50df1f898 100644
--- a/core/pkg/luajit.pkg/lib/windows/x86/luajit.lib
+++ b/core/pkg/luajit.pkg/lib/release/windows/x86/luajit.lib
Binary files differ
diff --git a/core/pkg/luajit.pkg/xmake.lua b/core/pkg/luajit.pkg/xmake.lua
index 465bf6cdf..f2c7f8490 100644
--- a/core/pkg/luajit.pkg/xmake.lua
+++ b/core/pkg/luajit.pkg/xmake.lua
@@ -20,7 +20,7 @@ option("luajit")
add_links("luajit")
-- add link directories
- add_linkdirs("lib/$(plat)/$(arch)")
+ add_linkdirs("lib/$(mode)/$(plat)/$(arch)")
-- add c includes for checking
add_cincludes("luajit/luajit.h")
diff --git a/core/pkg/tbox.pkg/LICENSE.md b/core/pkg/tbox.pkg/LICENSE.md
deleted file mode 100755
index 00b4fedfe..000000000
--- a/core/pkg/tbox.pkg/LICENSE.md
+++ /dev/null
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/core/pkg/tbox.pkg/inc/linux/i386/tbox.config.h b/core/pkg/tbox.pkg/inc/linux/i386/tbox.config.h
deleted file mode 100755
index 24e3f1851..000000000
--- a/core/pkg/tbox.pkg/inc/linux/i386/tbox.config.h
+++ /dev/null
@@ -1,120 +0,0 @@
-#ifndef TB_CONFIG_H
-#define TB_CONFIG_H
-
-// version
-#define TB_CONFIG_VERSION "1.5.3"
-#define TB_CONFIG_VERSION_MAJOR 1
-#define TB_CONFIG_VERSION_MINOR 5
-#define TB_CONFIG_VERSION_ALTER 3
-#define TB_CONFIG_VERSION_BUILD 201608031359
-
-// defines
-#define TB_CONFIG_OS_LINUX 1
-#define _GNU_SOURCE 1
-#define _REENTRANT 1
-#define TB_CONFIG_SMALL 1
-#define TB_CONFIG_TYPE_HAVE_FLOAT 1
-#define TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP 1
-#define TB_CONFIG_LIBC_HAVE_MKTIME 1
-#define TB_CONFIG_LIBM_HAVE_ACOS 1
-#define TB_CONFIG_POSIX_HAVE_SOCKET 1
-#define TB_CONFIG_LIBC_HAVE_SETLOCALE 1
-#define TB_CONFIG_POSIX_HAVE_POLL 1
-#define TB_CONFIG_LIBC_HAVE_KILL 1
-#define TB_CONFIG_POSIX_HAVE_PWRITEV 1
-#define TB_CONFIG_LIBM_HAVE_ATAN2 1
-#define TB_CONFIG_POSIX_HAVE_SCHED_YIELD 1
-#define TB_CONFIG_LIBC_HAVE_STRLEN 1
-#define TB_CONFIG_LIBC_HAVE_WCSCMP 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCAT 1
-#define TB_CONFIG_POSIX_HAVE_EXECVP 1
-#define TB_CONFIG_POSIX_HAVE_FORK 1
-#define TB_CONFIG_POSIX_HAVE_GETIFADDRS 1
-#define TB_CONFIG_POSIX_HAVE_FDATASYNC 1
-#define TB_CONFIG_POSIX_HAVE_DLOPEN 1
-#define TB_CONFIG_POSIX_HAVE_REGEXEC 1
-#define TB_CONFIG_POSIX_HAVE_VFORK 1
-#define TB_CONFIG_LIBC_HAVE_STRCAT 1
-#define TB_CONFIG_LIBC_HAVE_WCSSTR 1
-#define TB_CONFIG_LIBC_HAVE_WCSCAT 1
-#define TB_CONFIG_LIBM_HAVE_POW 1
-#define TB_CONFIG_LIBC_HAVE_MEMCPY 1
-#define TB_CONFIG_LIBM_HAVE_SQRTF 1
-#define TB_CONFIG_LIBC_HAVE_WCSNLEN 1
-#define TB_CONFIG_LIBM_HAVE_ACOSF 1
-#define TB_CONFIG_POSIX_HAVE_OPEN 1
-#define TB_CONFIG_LIBC_HAVE_STRNLEN 1
-#define TB_CONFIG_LIBC_HAVE_RANDOM 1
-#define TB_CONFIG_LIBM_HAVE_ATANF 1
-#define TB_CONFIG_LIBC_HAVE_STRNCAT 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCPY 1
-#define TB_CONFIG_LIBC_HAVE_GMTIME 1
-#define TB_CONFIG_LIBM_HAVE_TAN 1
-#define TB_CONFIG_LIBM_HAVE_POWF 1
-#define TB_CONFIG_LIBM_HAVE_SINF 1
-#define TB_CONFIG_LIBM_HAVE_ATAN 1
-#define TB_CONFIG_LIBC_HAVE_STRNCMP 1
-#define TB_CONFIG_LIBC_HAVE_MEMMOVE 1
-#define TB_CONFIG_LIBC_HAVE_STRNCASECMP 1
-#define TB_CONFIG_POSIX_HAVE_PREADV 1
-#define TB_CONFIG_LIBC_HAVE_WCSCPY 1
-#define TB_CONFIG_LIBM_HAVE_SQRT 1
-#define TB_CONFIG_LIBC_HAVE_STRCMP 1
-#define TB_CONFIG_LIBC_HAVE_STRCASECMP 1
-#define TB_CONFIG_LIBC_HAVE_MEMSET 1
-#define TB_CONFIG_LIBC_HAVE_FPUTS 1
-#define TB_CONFIG_LIBM_HAVE_TANF 1
-#define TB_CONFIG_LIBC_HAVE_STRNCPY 1
-#define TB_CONFIG_LIBC_HAVE_LOCALTIME 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCASECMP 1
-#define TB_CONFIG_LIBC_HAVE_STRCPY 1
-#define TB_CONFIG_POSIX_HAVE_SEM_INIT 1
-#define TB_CONFIG_SYSTEMV_HAVE_SEMGET 1
-#define TB_CONFIG_POSIX_HAVE_WAITPID 1
-#define TB_CONFIG_POSIX_HAVE_EPOLL_WAIT 1
-#define TB_CONFIG_POSIX_HAVE_EPOLL_CREATE 1
-#define TB_CONFIG_LIBC_HAVE_GETTIMEOFDAY 1
-#define TB_CONFIG_LIBM_HAVE_ATAN2F 1
-#define TB_CONFIG_LIBC_HAVE_STRSTR 1
-#define TB_CONFIG_POSIX_HAVE_SENDFILE 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCMP 1
-#define TB_CONFIG_POSIX_HAVE_WRITEV 1
-#define TB_CONFIG_LIBM_HAVE_LOG2 1
-#define TB_CONFIG_LIBM_HAVE_COS 1
-#define TB_CONFIG_POSIX_HAVE_READV 1
-#define TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT 1
-#define TB_CONFIG_LIBM_HAVE_FMODF 1
-#define TB_CONFIG_MODULE_HAVE_HASH 1
-#define TB_CONFIG_LIBC_HAVE_WCSTOMBS 1
-#define TB_CONFIG_LIBM_HAVE_FMOD 1
-#define TB_CONFIG_LIBC_HAVE_MEMCMP 1
-#define TB_CONFIG_POSIX_HAVE_REGCOMP 1
-#define TB_CONFIG_POSIX_HAVE_SYSCONF 1
-#define TB_CONFIG_POSIX_HAVE_GETPAGESIZE 1
-#define TB_CONFIG_POSIX_HAVE_GETHOSTNAME 1
-#define TB_CONFIG_POSIX_HAVE_OPENDIR 1
-#define TB_CONFIG_LIBM_HAVE_SIN 1
-#define TB_CONFIG_LIBM_HAVE_COSF 1
-#define TB_CONFIG_LIBM_HAVE_EXP 1
-#define TB_CONFIG_POSIX_HAVE_PTHREAD_CREATE 1
-#define TB_CONFIG_LIBM_HAVE_ASIN 1
-#define TB_CONFIG_LIBM_HAVE_EXPF 1
-#define TB_CONFIG_LIBC_HAVE_WCSLEN 1
-#define TB_CONFIG_MODULE_HAVE_THREAD 1
-#define TB_CONFIG_MODULE_HAVE_NETWORK 1
-#define TB_CONFIG_LIBC_HAVE_MBSTOWCS 1
-#define TB_CONFIG_LIBC_HAVE_WCSCASECMP 1
-#define TB_CONFIG_LIBM_HAVE_ASINF 1
-#define TB_CONFIG_LIBC_HAVE_SIGSETJMP 1
-#define TB_CONFIG_LIBM_HAVE_LOG2F 1
-#define TB_CONFIG_LIBC_HAVE_SRANDOM 1
-#define TB_CONFIG_LIBC_HAVE_SETJMP 1
-#define TB_CONFIG_LIBC_HAVE_SIGNAL 1
-#define TB_CONFIG_LIBC_HAVE_BACKTRACE 1
-
-// undefines
-#undef TB_CONFIG_TRACE_INFO_ONLY
-#undef TB_CONFIG_EXCEPTION_ENABLE
-#undef TB_CONFIG_MEMORY_UNALIGNED_ACCESS_ENABLE
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/linux/tbox.config.h b/core/pkg/tbox.pkg/inc/linux/tbox.config.h
index 4bdfb3984..4e28195d0 100755
--- a/core/pkg/tbox.pkg/inc/linux/tbox.config.h
+++ b/core/pkg/tbox.pkg/inc/linux/tbox.config.h
@@ -6,7 +6,7 @@
#define TB_CONFIG_VERSION_MAJOR 1
#define TB_CONFIG_VERSION_MINOR 6
#define TB_CONFIG_VERSION_ALTER 1
-#define TB_CONFIG_VERSION_BUILD 201611300950
+#define TB_CONFIG_VERSION_BUILD 201611301338
// defines
#define TB_CONFIG_OS_LINUX 1
@@ -14,6 +14,7 @@
#define _REENTRANT 1
#define TB_CONFIG_SMALL 1
#define TB_CONFIG_TYPE_HAVE_FLOAT 1
+#define TB_CONFIG_MODULE_HAVE_HASH 1
#define TB_CONFIG_LIBC_HAVE_MEMCPY 1
#define TB_CONFIG_LIBC_HAVE_MEMSET 1
#define TB_CONFIG_LIBC_HAVE_MEMMOVE 1
diff --git a/core/pkg/tbox.pkg/inc/linux/x86_64/tbox.config.h b/core/pkg/tbox.pkg/inc/linux/x86_64/tbox.config.h
deleted file mode 100755
index 095066c75..000000000
--- a/core/pkg/tbox.pkg/inc/linux/x86_64/tbox.config.h
+++ /dev/null
@@ -1,120 +0,0 @@
-#ifndef TB_CONFIG_H
-#define TB_CONFIG_H
-
-// version
-#define TB_CONFIG_VERSION "1.5.3"
-#define TB_CONFIG_VERSION_MAJOR 1
-#define TB_CONFIG_VERSION_MINOR 5
-#define TB_CONFIG_VERSION_ALTER 3
-#define TB_CONFIG_VERSION_BUILD 201608031402
-
-// defines
-#define TB_CONFIG_OS_LINUX 1
-#define _GNU_SOURCE 1
-#define _REENTRANT 1
-#define TB_CONFIG_SMALL 1
-#define TB_CONFIG_TYPE_HAVE_FLOAT 1
-#define TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP 1
-#define TB_CONFIG_LIBC_HAVE_MKTIME 1
-#define TB_CONFIG_LIBM_HAVE_ACOS 1
-#define TB_CONFIG_POSIX_HAVE_SOCKET 1
-#define TB_CONFIG_LIBC_HAVE_SETLOCALE 1
-#define TB_CONFIG_POSIX_HAVE_POLL 1
-#define TB_CONFIG_LIBC_HAVE_KILL 1
-#define TB_CONFIG_POSIX_HAVE_PWRITEV 1
-#define TB_CONFIG_LIBM_HAVE_ATAN2 1
-#define TB_CONFIG_POSIX_HAVE_SCHED_YIELD 1
-#define TB_CONFIG_LIBC_HAVE_STRLEN 1
-#define TB_CONFIG_LIBC_HAVE_WCSCMP 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCAT 1
-#define TB_CONFIG_POSIX_HAVE_EXECVP 1
-#define TB_CONFIG_POSIX_HAVE_FORK 1
-#define TB_CONFIG_POSIX_HAVE_GETIFADDRS 1
-#define TB_CONFIG_POSIX_HAVE_FDATASYNC 1
-#define TB_CONFIG_POSIX_HAVE_DLOPEN 1
-#define TB_CONFIG_POSIX_HAVE_REGEXEC 1
-#define TB_CONFIG_POSIX_HAVE_VFORK 1
-#define TB_CONFIG_LIBC_HAVE_STRCAT 1
-#define TB_CONFIG_LIBC_HAVE_WCSSTR 1
-#define TB_CONFIG_LIBC_HAVE_WCSCAT 1
-#define TB_CONFIG_LIBM_HAVE_POW 1
-#define TB_CONFIG_LIBC_HAVE_MEMCPY 1
-#define TB_CONFIG_LIBM_HAVE_SQRTF 1
-#define TB_CONFIG_LIBC_HAVE_WCSNLEN 1
-#define TB_CONFIG_LIBM_HAVE_ACOSF 1
-#define TB_CONFIG_POSIX_HAVE_OPEN 1
-#define TB_CONFIG_LIBC_HAVE_STRNLEN 1
-#define TB_CONFIG_LIBC_HAVE_RANDOM 1
-#define TB_CONFIG_LIBM_HAVE_ATANF 1
-#define TB_CONFIG_LIBC_HAVE_STRNCAT 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCPY 1
-#define TB_CONFIG_LIBC_HAVE_GMTIME 1
-#define TB_CONFIG_LIBM_HAVE_TAN 1
-#define TB_CONFIG_LIBM_HAVE_POWF 1
-#define TB_CONFIG_LIBM_HAVE_SINF 1
-#define TB_CONFIG_LIBM_HAVE_ATAN 1
-#define TB_CONFIG_LIBC_HAVE_STRNCMP 1
-#define TB_CONFIG_LIBC_HAVE_MEMMOVE 1
-#define TB_CONFIG_LIBC_HAVE_STRNCASECMP 1
-#define TB_CONFIG_POSIX_HAVE_PREADV 1
-#define TB_CONFIG_LIBC_HAVE_WCSCPY 1
-#define TB_CONFIG_LIBM_HAVE_SQRT 1
-#define TB_CONFIG_LIBC_HAVE_STRCMP 1
-#define TB_CONFIG_LIBC_HAVE_STRCASECMP 1
-#define TB_CONFIG_LIBC_HAVE_MEMSET 1
-#define TB_CONFIG_LIBC_HAVE_FPUTS 1
-#define TB_CONFIG_LIBM_HAVE_TANF 1
-#define TB_CONFIG_LIBC_HAVE_STRNCPY 1
-#define TB_CONFIG_LIBC_HAVE_LOCALTIME 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCASECMP 1
-#define TB_CONFIG_LIBC_HAVE_STRCPY 1
-#define TB_CONFIG_POSIX_HAVE_SEM_INIT 1
-#define TB_CONFIG_SYSTEMV_HAVE_SEMGET 1
-#define TB_CONFIG_POSIX_HAVE_WAITPID 1
-#define TB_CONFIG_POSIX_HAVE_EPOLL_WAIT 1
-#define TB_CONFIG_POSIX_HAVE_EPOLL_CREATE 1
-#define TB_CONFIG_LIBC_HAVE_GETTIMEOFDAY 1
-#define TB_CONFIG_LIBM_HAVE_ATAN2F 1
-#define TB_CONFIG_LIBC_HAVE_STRSTR 1
-#define TB_CONFIG_POSIX_HAVE_SENDFILE 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCMP 1
-#define TB_CONFIG_POSIX_HAVE_WRITEV 1
-#define TB_CONFIG_LIBM_HAVE_LOG2 1
-#define TB_CONFIG_LIBM_HAVE_COS 1
-#define TB_CONFIG_POSIX_HAVE_READV 1
-#define TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT 1
-#define TB_CONFIG_LIBM_HAVE_FMODF 1
-#define TB_CONFIG_MODULE_HAVE_HASH 1
-#define TB_CONFIG_LIBC_HAVE_WCSTOMBS 1
-#define TB_CONFIG_LIBM_HAVE_FMOD 1
-#define TB_CONFIG_LIBC_HAVE_MEMCMP 1
-#define TB_CONFIG_POSIX_HAVE_REGCOMP 1
-#define TB_CONFIG_POSIX_HAVE_SYSCONF 1
-#define TB_CONFIG_POSIX_HAVE_GETPAGESIZE 1
-#define TB_CONFIG_POSIX_HAVE_GETHOSTNAME 1
-#define TB_CONFIG_POSIX_HAVE_OPENDIR 1
-#define TB_CONFIG_LIBM_HAVE_SIN 1
-#define TB_CONFIG_LIBM_HAVE_COSF 1
-#define TB_CONFIG_LIBM_HAVE_EXP 1
-#define TB_CONFIG_POSIX_HAVE_PTHREAD_CREATE 1
-#define TB_CONFIG_LIBM_HAVE_ASIN 1
-#define TB_CONFIG_LIBM_HAVE_EXPF 1
-#define TB_CONFIG_LIBC_HAVE_WCSLEN 1
-#define TB_CONFIG_MODULE_HAVE_THREAD 1
-#define TB_CONFIG_MODULE_HAVE_NETWORK 1
-#define TB_CONFIG_LIBC_HAVE_MBSTOWCS 1
-#define TB_CONFIG_LIBC_HAVE_WCSCASECMP 1
-#define TB_CONFIG_LIBM_HAVE_ASINF 1
-#define TB_CONFIG_LIBC_HAVE_SIGSETJMP 1
-#define TB_CONFIG_LIBM_HAVE_LOG2F 1
-#define TB_CONFIG_LIBC_HAVE_SRANDOM 1
-#define TB_CONFIG_LIBC_HAVE_SETJMP 1
-#define TB_CONFIG_LIBC_HAVE_SIGNAL 1
-#define TB_CONFIG_LIBC_HAVE_BACKTRACE 1
-
-// undefines
-#undef TB_CONFIG_TRACE_INFO_ONLY
-#undef TB_CONFIG_EXCEPTION_ENABLE
-#undef TB_CONFIG_MEMORY_UNALIGNED_ACCESS_ENABLE
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/macosx/x86_64/tbox.config.h b/core/pkg/tbox.pkg/inc/macosx/x86_64/tbox.config.h
deleted file mode 100755
index da1a2fa56..000000000
--- a/core/pkg/tbox.pkg/inc/macosx/x86_64/tbox.config.h
+++ /dev/null
@@ -1,118 +0,0 @@
-#ifndef TB_CONFIG_H
-#define TB_CONFIG_H
-
-// version
-#define TB_CONFIG_VERSION "1.5.3"
-#define TB_CONFIG_VERSION_MAJOR 1
-#define TB_CONFIG_VERSION_MINOR 5
-#define TB_CONFIG_VERSION_ALTER 3
-#define TB_CONFIG_VERSION_BUILD 201608031341
-
-// defines
-#define TB_CONFIG_OS_MACOSX 1
-#define _GNU_SOURCE 1
-#define _REENTRANT 1
-#define TB_CONFIG_SMALL 1
-#define TB_CONFIG_TYPE_HAVE_FLOAT 1
-#define TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP 1
-#define TB_CONFIG_LIBC_HAVE_MKTIME 1
-#define TB_CONFIG_LIBM_HAVE_ACOS 1
-#define TB_CONFIG_POSIX_HAVE_SOCKET 1
-#define TB_CONFIG_LIBC_HAVE_SETLOCALE 1
-#define TB_CONFIG_POSIX_HAVE_POLL 1
-#define TB_CONFIG_LIBC_HAVE_KILL 1
-#define TB_CONFIG_LIBC_HAVE_BACKTRACE 1
-#define TB_CONFIG_POSIX_HAVE_SCHED_YIELD 1
-#define TB_CONFIG_LIBC_HAVE_STRLEN 1
-#define TB_CONFIG_LIBC_HAVE_WCSCMP 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCAT 1
-#define TB_CONFIG_POSIX_HAVE_EXECVP 1
-#define TB_CONFIG_POSIX_HAVE_FORK 1
-#define TB_CONFIG_POSIX_HAVE_GETIFADDRS 1
-#define TB_CONFIG_POSIX_HAVE_DLOPEN 1
-#define TB_CONFIG_POSIX_HAVE_REGEXEC 1
-#define TB_CONFIG_POSIX_HAVE_VFORK 1
-#define TB_CONFIG_LIBC_HAVE_STRCAT 1
-#define TB_CONFIG_LIBC_HAVE_WCSSTR 1
-#define TB_CONFIG_LIBC_HAVE_WCSCAT 1
-#define TB_CONFIG_LIBM_HAVE_POW 1
-#define TB_CONFIG_LIBC_HAVE_MEMCPY 1
-#define TB_CONFIG_LIBM_HAVE_SQRTF 1
-#define TB_CONFIG_LIBC_HAVE_WCSNLEN 1
-#define TB_CONFIG_LIBM_HAVE_ACOSF 1
-#define TB_CONFIG_POSIX_HAVE_OPEN 1
-#define TB_CONFIG_LIBC_HAVE_STRNLEN 1
-#define TB_CONFIG_LIBC_HAVE_RANDOM 1
-#define TB_CONFIG_LIBM_HAVE_ATANF 1
-#define TB_CONFIG_LIBC_HAVE_STRNCAT 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCPY 1
-#define TB_CONFIG_LIBC_HAVE_GMTIME 1
-#define TB_CONFIG_LIBM_HAVE_TAN 1
-#define TB_CONFIG_LIBM_HAVE_POWF 1
-#define TB_CONFIG_LIBM_HAVE_SINF 1
-#define TB_CONFIG_MODULE_HAVE_NETWORK 1
-#define TB_CONFIG_LIBC_HAVE_STRNCMP 1
-#define TB_CONFIG_LIBC_HAVE_MEMMOVE 1
-#define TB_CONFIG_LIBC_HAVE_STRNCASECMP 1
-#define TB_CONFIG_LIBC_HAVE_STRLCPY 1
-#define TB_CONFIG_LIBC_HAVE_WCSCPY 1
-#define TB_CONFIG_LIBM_HAVE_SQRT 1
-#define TB_CONFIG_LIBC_HAVE_STRCMP 1
-#define TB_CONFIG_LIBC_HAVE_STRCASECMP 1
-#define TB_CONFIG_LIBC_HAVE_MEMSET 1
-#define TB_CONFIG_LIBC_HAVE_FPUTS 1
-#define TB_CONFIG_LIBM_HAVE_TANF 1
-#define TB_CONFIG_LIBC_HAVE_STRNCPY 1
-#define TB_CONFIG_LIBC_HAVE_LOCALTIME 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCASECMP 1
-#define TB_CONFIG_LIBC_HAVE_STRCPY 1
-#define TB_CONFIG_LIBC_HAVE_WCSLCPY 1
-#define TB_CONFIG_SYSTEMV_HAVE_SEMGET 1
-#define TB_CONFIG_POSIX_HAVE_WAITPID 1
-#define TB_CONFIG_POSIX_HAVE_WRITEV 1
-#define TB_CONFIG_POSIX_HAVE_READV 1
-#define TB_CONFIG_LIBC_HAVE_GETTIMEOFDAY 1
-#define TB_CONFIG_LIBC_HAVE_SIGNAL 1
-#define TB_CONFIG_LIBC_HAVE_STRSTR 1
-#define TB_CONFIG_POSIX_HAVE_REGCOMP 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCMP 1
-#define TB_CONFIG_POSIX_HAVE_SYSCONF 1
-#define TB_CONFIG_LIBM_HAVE_LOG2 1
-#define TB_CONFIG_LIBM_HAVE_COS 1
-#define TB_CONFIG_POSIX_HAVE_GETPAGESIZE 1
-#define TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT 1
-#define TB_CONFIG_LIBM_HAVE_FMODF 1
-#define TB_CONFIG_MODULE_HAVE_HASH 1
-#define TB_CONFIG_LIBC_HAVE_WCSTOMBS 1
-#define TB_CONFIG_LIBM_HAVE_FMOD 1
-#define TB_CONFIG_LIBC_HAVE_MEMCMP 1
-#define TB_CONFIG_POSIX_HAVE_SEM_INIT 1
-#define TB_CONFIG_POSIX_HAVE_GETHOSTNAME 1
-#define TB_CONFIG_POSIX_HAVE_OPENDIR 1
-#define TB_CONFIG_LIBM_HAVE_ATAN2F 1
-#define TB_CONFIG_LIBM_HAVE_ATAN2 1
-#define TB_CONFIG_LIBM_HAVE_EXP 1
-#define TB_CONFIG_LIBM_HAVE_SIN 1
-#define TB_CONFIG_LIBM_HAVE_COSF 1
-#define TB_CONFIG_POSIX_HAVE_PTHREAD_CREATE 1
-#define TB_CONFIG_LIBM_HAVE_ASIN 1
-#define TB_CONFIG_LIBM_HAVE_EXPF 1
-#define TB_CONFIG_LIBM_HAVE_ATAN 1
-#define TB_CONFIG_LIBM_HAVE_ASINF 1
-#define TB_CONFIG_MODULE_HAVE_THREAD 1
-#define TB_CONFIG_LIBC_HAVE_MEMMEM 1
-#define TB_CONFIG_LIBC_HAVE_WCSCASECMP 1
-#define TB_CONFIG_LIBC_HAVE_MBSTOWCS 1
-#define TB_CONFIG_LIBC_HAVE_SIGSETJMP 1
-#define TB_CONFIG_LIBM_HAVE_LOG2F 1
-#define TB_CONFIG_LIBC_HAVE_SRANDOM 1
-#define TB_CONFIG_LIBC_HAVE_SETJMP 1
-#define TB_CONFIG_LIBC_HAVE_STRCASESTR 1
-#define TB_CONFIG_LIBC_HAVE_WCSLEN 1
-
-// undefines
-#undef TB_CONFIG_TRACE_INFO_ONLY
-#undef TB_CONFIG_EXCEPTION_ENABLE
-#undef TB_CONFIG_MEMORY_UNALIGNED_ACCESS_ENABLE
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/aice.h b/core/pkg/tbox.pkg/inc/tbox/asio/aice.h
deleted file mode 100755
index 899caf88c..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/aice.h
+++ /dev/null
@@ -1,482 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file aice.h
- * @ingroup asio
- */
-#ifndef TB_ASIO_AICE_H
-#define TB_ASIO_AICE_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "aico.h"
-#include "../network/ipaddr.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the aice code enum
-typedef enum __tb_aice_code_e
-{
- TB_AICE_CODE_NONE = 0
-
-, TB_AICE_CODE_ACPT = 1 //!< for sock, accept it
-, TB_AICE_CODE_CONN = 2 //!< for sock, connect to the host address
-, TB_AICE_CODE_RECV = 3 //!< for sock, recv data for tcp
-, TB_AICE_CODE_SEND = 4 //!< for sock, send data for tcp
-, TB_AICE_CODE_URECV = 5 //!< for sock, recv data for udp
-, TB_AICE_CODE_USEND = 6 //!< for sock, send data for udp
-, TB_AICE_CODE_RECVV = 7 //!< for sock, recv iovec data for tcp
-, TB_AICE_CODE_SENDV = 8 //!< for sock, send iovec data for tcp
-, TB_AICE_CODE_URECVV = 9 //!< for sock, recv iovec data for udp
-, TB_AICE_CODE_USENDV = 10 //!< for sock, send iovec data for udp
-, TB_AICE_CODE_SENDF = 11 //!< for sock, maybe return TB_STATE_NOT_SUPPORTED
-
-, TB_AICE_CODE_READ = 12 //!< for file, read data
-, TB_AICE_CODE_WRIT = 13 //!< for file, writ data
-, TB_AICE_CODE_READV = 14 //!< for file, read iovec data
-, TB_AICE_CODE_WRITV = 15 //!< for file, writ iovec data
-, TB_AICE_CODE_FSYNC = 16 //!< for file, flush data to file
-
-, TB_AICE_CODE_RUNTASK = 17 //!< for task or sock or file, run task with the given delay
-, TB_AICE_CODE_CLOS = 18 //!< for task or sock or file
-
-, TB_AICE_CODE_MAXN = 19
-
-}tb_aice_code_e;
-
-/// the acpt aice type
-typedef struct __tb_aice_acpt_t
-{
- /// the client aico
- tb_aico_ref_t aico;
-
- /// the client addr
- tb_ipaddr_t addr;
-
- /// the private data for using the left space of the union
- tb_cpointer_t priv[1];
-
-}tb_aice_acpt_t;
-
-/// the conn aice type
-typedef struct __tb_aice_conn_t
-{
- /// the addr
- tb_ipaddr_t addr;
-
-}tb_aice_conn_t;
-
-#ifdef TB_CONFIG_OS_WINDOWS
-/// the recv aice type, base: tb_iovec_t
-typedef struct __tb_aice_recv_t
-{
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the recv data for (tb_iovec_t*)->data
- tb_byte_t* data;
-
- /// the data real
- tb_size_t real;
-
-}tb_aice_recv_t;
-
-/// the send aice type, base: tb_iovec_t
-typedef struct __tb_aice_send_t
-{
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the send data for (tb_iovec_t*)->data
- tb_byte_t const* data;
-
- /// the data real
- tb_size_t real;
-
-}tb_aice_send_t;
-
-/// the urecv aice type, base: tb_iovec_t
-typedef struct __tb_aice_urecv_t
-{
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the recv data for (tb_iovec_t*)->data
- tb_byte_t* data;
-
- /// the data real
- tb_size_t real;
-
- /// the addr
- tb_ipaddr_t addr;
-
-}tb_aice_urecv_t;
-
-/// the usend aice type, base: tb_iovec_t
-typedef struct __tb_aice_usend_t
-{
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the send data for (tb_iovec_t*)->data
- tb_byte_t const* data;
-
- /// the data real
- tb_size_t real;
-
- /// the peer addr
- tb_ipaddr_t addr;
-
-}tb_aice_usend_t;
-
-/// the read aice type, base: tb_iovec_t
-typedef struct __tb_aice_read_t
-{
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the read data for (tb_iovec_t*)->data
- tb_byte_t* data;
-
- /// the data real
- tb_size_t real;
-
- /// the file seek
- tb_hize_t seek;
-
-}tb_aice_read_t;
-
-/// the writ aice type, base: tb_iovec_t
-typedef struct __tb_aice_writ_t
-{
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the writ data for (tb_iovec_t*)->data
- tb_byte_t const* data;
-
- /// the data real
- tb_size_t real;
-
- /// the file seek
- tb_hize_t seek;
-
-}tb_aice_writ_t;
-#else
-/// the recv aice type, base: tb_iovec_t
-typedef struct __tb_aice_recv_t
-{
- /// the recv data for (tb_iovec_t*)->data
- tb_byte_t* data;
-
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the data real
- tb_size_t real;
-
-}tb_aice_recv_t;
-
-/// the send aice type, base: tb_iovec_t
-typedef struct __tb_aice_send_t
-{
- /// the send data for (tb_iovec_t*)->data
- tb_byte_t const* data;
-
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the data real
- tb_size_t real;
-
-}tb_aice_send_t;
-
-/// the urecv aice type, base: tb_iovec_t
-typedef struct __tb_aice_urecv_t
-{
- /// the recv data for (tb_iovec_t*)->data
- tb_byte_t* data;
-
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the data real
- tb_size_t real;
-
- /// the addr
- tb_ipaddr_t addr;
-
-}tb_aice_urecv_t;
-
-/// the usend aice type, base: tb_iovec_t
-typedef struct __tb_aice_usend_t
-{
- /// the send data for (tb_iovec_t*)->data
- tb_byte_t const* data;
-
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the data real
- tb_size_t real;
-
- /// the addr
- tb_ipaddr_t addr;
-
-}tb_aice_usend_t;
-
-/// the read aice type, base: tb_iovec_t
-typedef struct __tb_aice_read_t
-{
- /// the read data for (tb_iovec_t*)->data
- tb_byte_t* data;
-
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the data real
- tb_size_t real;
-
- /// the file seek
- tb_hize_t seek;
-
-}tb_aice_read_t;
-
-/// the writ aice type, base: tb_iovec_t
-typedef struct __tb_aice_writ_t
-{
- /// the writ data for (tb_iovec_t*)->data
- tb_byte_t const* data;
-
- /// the data size for (tb_iovec_t*)->size
- tb_iovec_size_t size;
-
- /// the data real
- tb_size_t real;
-
- /// the file seek
- tb_hize_t seek;
-
-}tb_aice_writ_t;
-#endif
-
-/// the recvv aice type
-typedef struct __tb_aice_recvv_t
-{
- /// the recv list
- tb_iovec_t const* list;
-
- /// the list size
- tb_size_t size;
-
- /// the data real
- tb_size_t real;
-
-}tb_aice_recvv_t;
-
-/// the sendv aice type
-typedef struct __tb_aice_sendv_t
-{
- /// the send list
- tb_iovec_t const* list;
-
- /// the list size
- tb_size_t size;
-
- /// the data real
- tb_size_t real;
-
-}tb_aice_sendv_t;
-
-/// the urecvv aice type
-typedef struct __tb_aice_urecvv_t
-{
- /// the recv list
- tb_iovec_t const* list;
-
- /// the list size
- tb_size_t size;
-
- /// the data real
- tb_size_t real;
-
- /// the peer addr
- tb_ipaddr_t addr;
-
-}tb_aice_urecvv_t;
-
-/// the usendv aice type
-typedef struct __tb_aice_usendv_t
-{
- /// the send list
- tb_iovec_t const* list;
-
- /// the list size
- tb_size_t size;
-
- /// the data real
- tb_size_t real;
-
- /// the addr
- tb_ipaddr_t addr;
-
-}tb_aice_usendv_t;
-
-/// the sendf aice type
-typedef struct __tb_aice_sendf_t
-{
- /// the file
- tb_file_ref_t file;
-
- /// the private data for using the left space of the union
- tb_handle_t priv[1];
-
- /// the real
- tb_size_t real;
-
- /// the size
- tb_hize_t size;
-
- /// the seek
- tb_hize_t seek;
-
-}tb_aice_sendf_t;
-
-/// the readv aice type
-typedef struct __tb_aice_readv_t
-{
- /// the read list
- tb_iovec_t const* list;
-
- /// the list size
- tb_size_t size;
-
- /// the data real
- tb_size_t real;
-
- /// the file seek
- tb_hize_t seek;
-
-}tb_aice_readv_t;
-
-/// the writv aice type
-typedef struct __tb_aice_writv_t
-{
- /// the writ list
- tb_iovec_t const* list;
-
- /// the list size
- tb_size_t size;
-
- /// the data real
- tb_size_t real;
-
- /// the file seek
- tb_hize_t seek;
-
-}tb_aice_writv_t;
-
-/// the runtask aice type
-typedef struct __tb_aice_runtask_t
-{
- /// the when
- tb_hize_t when;
-
- /// the delay
- tb_size_t delay;
-
-}tb_aice_runtask_t;
-
-/// the aice type
-typedef struct __tb_aice_t
-{
- /// the aice code
- tb_uint8_t code;
-
- /*! the state
- *
- * TB_STATE_OK
- * TB_STATE_FAILED
- * TB_STATE_KILLED
- * TB_STATE_CLOSED
- * TB_STATE_PENDING
- * TB_STATE_TIMEOUT
- * TB_STATE_NOT_SUPPORTED
- */
- tb_size_t state;
-
- /// the aico func
- tb_aico_func_t func;
-
- /// the aico private data
- tb_cpointer_t priv;
-
- /// the aico
- tb_aico_ref_t aico;
-
- /*! the events
- *
- * tb_iovec_t must be aligned by cpu-bytes for windows WSABUF
- */
-#ifdef TB_CONFIG_OS_WINDOWS
- __tb_cpu_aligned__ union
-#else
- union
-#endif
- {
- // for sock
- tb_aice_acpt_t acpt;
- tb_aice_conn_t conn;
- tb_aice_recv_t recv;
- tb_aice_send_t send;
- tb_aice_urecv_t urecv;
- tb_aice_usend_t usend;
- tb_aice_recvv_t recvv;
- tb_aice_sendv_t sendv;
- tb_aice_urecvv_t urecvv;
- tb_aice_usendv_t usendv;
- tb_aice_sendf_t sendf;
-
- // for file
- tb_aice_read_t read;
- tb_aice_writ_t writ;
- tb_aice_readv_t readv;
- tb_aice_writv_t writv;
-
- // for task
- tb_aice_runtask_t runtask;
-
- } u;
-
-}tb_aice_t, *tb_aice_ref_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/aico.h b/core/pkg/tbox.pkg/inc/tbox/asio/aico.h
deleted file mode 100755
index 9b808c738..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/aico.h
+++ /dev/null
@@ -1,681 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file aico.h
- * @ingroup asio
- *
- */
-#ifndef TB_ASIO_AICO_H
-#define TB_ASIO_AICO_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-#include "../network/ipaddr.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-#define tb_aico_clos(aico, func, priv) tb_aico_clos_(aico, func, priv __tb_debug_vals__)
-#define tb_aico_acpt(aico, func, priv) tb_aico_acpt_(aico, func, priv __tb_debug_vals__)
-#define tb_aico_conn(aico, addr, func, priv) tb_aico_conn_(aico, addr, func, priv __tb_debug_vals__)
-#define tb_aico_recv(aico, data, size, func, priv) tb_aico_recv_(aico, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_send(aico, data, size, func, priv) tb_aico_send_(aico, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_urecv(aico, data, size, func, priv) tb_aico_urecv_(aico, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_usend(aico, addr, data, size, func, priv) tb_aico_usend_(aico, addr, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_recvv(aico, list, size, func, priv) tb_aico_recvv_(aico, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_sendv(aico, list, size, func, priv) tb_aico_sendv_(aico, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_urecvv(aico, addr, list, size, func, priv) tb_aico_urecvv_(aico, addr, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_usendv(aico, addr, list, size, func, priv) tb_aico_usendv_(aico, addr, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_sendf(aico, file, seek, size, func, priv) tb_aico_sendf_(aico, file, seek, size, func, priv __tb_debug_vals__)
-#define tb_aico_read(aico, seek, data, size, func, priv) tb_aico_read_(aico, seek, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_writ(aico, seek, data, size, func, priv) tb_aico_writ_(aico, seek, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_readv(aico, seek, list, size, func, priv) tb_aico_readv_(aico, seek, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_writv(aico, seek, list, size, func, priv) tb_aico_writv_(aico, seek, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_fsync(aico, func, priv) tb_aico_fsync_(aico, func, priv __tb_debug_vals__)
-
-#define tb_aico_clos_after(aico, delay, func, priv) tb_aico_clos_after_(aico, delay, func, priv __tb_debug_vals__)
-#define tb_aico_acpt_after(aico, delay, func, priv) tb_aico_acpt_after_(aico, delay, func, priv __tb_debug_vals__)
-#define tb_aico_conn_after(aico, delay, addr, func, priv) tb_aico_conn_after_(aico, delay, addr, func, priv __tb_debug_vals__)
-#define tb_aico_recv_after(aico, delay, data, size, func, priv) tb_aico_recv_after_(aico, delay, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_send_after(aico, delay, data, size, func, priv) tb_aico_send_after_(aico, delay, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_urecv_after(aico, delay, data, size, func, priv) tb_aico_urecv_after_(aico, delay, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_usend_after(aico, delay, addr, data, size, func, priv) tb_aico_usend_after_(aico, delay, addr, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_recvv_after(aico, delay, list, size, func, priv) tb_aico_recvv_after_(aico, delay, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_sendv_after(aico, delay, list, size, func, priv) tb_aico_sendv_after_(aico, delay, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_urecvv_after(aico, delay, addr, list, size, func, priv) tb_aico_urecvv_after_(aico, delay, addr, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_usendv_after(aico, delay, addr, list, size, func, priv) tb_aico_usendv_after_(aico, delay, addr, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_sendf_after(aico, delay, file, seek, size, func, priv) tb_aico_sendf_after_(aico, delay, file, seek, size, func, priv __tb_debug_vals__)
-#define tb_aico_read_after(aico, delay, seek, data, size, func, priv) tb_aico_read_after_(aico, delay, seek, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_writ_after(aico, delay, seek, data, size, func, priv) tb_aico_writ_after_(aico, delay, seek, data, size, func, priv __tb_debug_vals__)
-#define tb_aico_readv_after(aico, delay, seek, list, size, func, priv) tb_aico_readv_after_(aico, delay, seek, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_writv_after(aico, delay, seek, list, size, func, priv) tb_aico_writv_after_(aico, delay, seek, list, size, func, priv __tb_debug_vals__)
-#define tb_aico_fsync_after(aico, delay, func, priv) tb_aico_fsync_after_(aico, delay, func, priv __tb_debug_vals__)
-
-#define tb_aico_task_run(aico, delay, func, priv) tb_aico_task_run_(aico, delay, func, priv __tb_debug_vals__)
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-struct __tb_aice_t;
-/// the aico func type
-typedef tb_bool_t (*tb_aico_func_t)(struct __tb_aice_t* aice);
-
-/// the aico type enum
-typedef enum __tb_aico_type_e
-{
- TB_AICO_TYPE_NONE = 0 //!< null
-, TB_AICO_TYPE_SOCK = 1 //!< sock
-, TB_AICO_TYPE_FILE = 2 //!< file
-, TB_AICO_TYPE_TASK = 3 //!< task
-, TB_AICO_TYPE_MAXN = 4
-
-}tb_aico_type_e;
-
-/// the aico timeout enum, only for sock
-typedef enum __tb_aico_timeout_e
-{
- TB_AICO_TIMEOUT_CONN = 0
-, TB_AICO_TIMEOUT_RECV = 1
-, TB_AICO_TIMEOUT_SEND = 2
-, TB_AICO_TIMEOUT_MAXN = 3
-
-}tb_aico_timeout_e;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init the aico
- *
- * @param aicp the aicp
- *
- * @return the aico
- */
-tb_aico_ref_t tb_aico_init(tb_aicp_ref_t aicp);
-
-/*! open the sock aico
- *
- * @param aicp the aicp
- * @param sock the socket
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_open_sock(tb_aico_ref_t aico, tb_socket_ref_t sock);
-
-/*! open the sock aico from the socket type
- *
- * @param aicp the aicp
- * @param type the socket type
- * @param family the address family, default: ipv4
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_open_sock_from_type(tb_aico_ref_t aico, tb_size_t type, tb_size_t family);
-
-/*! open the file aico
- *
- * @param aicp the aicp
- * @param file the file
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_open_file(tb_aico_ref_t aico, tb_file_ref_t file);
-
-/*! open the file aico from path
- *
- * @param aicp the aicp
- * @param path the file path
- * @param mode the file mode
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_open_file_from_path(tb_aico_ref_t aico, tb_char_t const* path, tb_size_t mode);
-
-/*! open the task aico
- *
- * @param aicp the aicp
- * @param ltimer is the lower precision timer?
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_open_task(tb_aico_ref_t aico, tb_bool_t ltimer);
-
-/*! kill the aico
- *
- * @param aico the aico
- */
-tb_void_t tb_aico_kill(tb_aico_ref_t aico);
-
-/*! exit the aico
- *
- * @param aico the aico
- */
-tb_void_t tb_aico_exit(tb_aico_ref_t aico);
-
-/*! the aico aicp
- *
- * @param aico the aico
- *
- * @return the aico aicp
- */
-tb_aicp_ref_t tb_aico_aicp(tb_aico_ref_t aico);
-
-/*! the aico type
- *
- * @param aico the aico
- *
- * @return the aico type
- */
-tb_size_t tb_aico_type(tb_aico_ref_t aico);
-
-/*! get the socket if the aico is socket type
- *
- * @param aico the aico
- *
- * @return the socket
- */
-tb_socket_ref_t tb_aico_sock(tb_aico_ref_t aico);
-
-/*! get the file if the aico is file type
- *
- * @param aico the aico
- *
- * @return the file
- */
-tb_file_ref_t tb_aico_file(tb_aico_ref_t aico);
-
-/*! try to close it
- *
- * @param aico the aico
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_clos_try(tb_aico_ref_t aico);
-
-/*! the aico timeout
- *
- * @param aico the aico
- * @param type the timeout type
- *
- * @return the timeout
- */
-tb_long_t tb_aico_timeout(tb_aico_ref_t aico, tb_size_t type);
-
-/*! set the aico timeout
- *
- * @param aico the aico
- * @param type the timeout type
- * @param timeout the timeout
- */
-tb_void_t tb_aico_timeout_set(tb_aico_ref_t aico, tb_size_t type, tb_long_t timeout);
-
-/*! post the clos
- *
- * @param aicp the aicp
- * @param func the func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_clos_(tb_aico_ref_t aico, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the acpt
- *
- * @param aico the aico
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_acpt_(tb_aico_ref_t aico, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the conn
- *
- * @param aico the aico
- * @param addr the address
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_conn_(tb_aico_ref_t aico, tb_ipaddr_ref_t addr, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the recv for sock
- *
- * @param aico the aico
- * @param data the data
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_recv_(tb_aico_ref_t aico, tb_byte_t* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the send for sock
- *
- * @param aico the aico
- * @param data the data
- * @param size the size, send the left file data if size == 0
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_send_(tb_aico_ref_t aico, tb_byte_t const* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the urecv for sock
- *
- * @param aico the aico
- * @param data the data
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_urecv_(tb_aico_ref_t aico, tb_byte_t* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the usend for sock
- *
- * @param aico the aico
- * @param addr the addr
- * @param data the data
- * @param size the size, send the left file data if size == 0
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_usend_(tb_aico_ref_t aico, tb_ipaddr_ref_t addr, tb_byte_t const* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the recvv for sock
- *
- * @param aico the aico
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_recvv_(tb_aico_ref_t aico, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the sendv for sock
- *
- * @param aico the aico
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_sendv_(tb_aico_ref_t aico, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the urecvv for sock
- *
- * @param aico the aico
- * @param addr the addr
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_urecvv_(tb_aico_ref_t aico, tb_ipaddr_ref_t addr, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the usendv for sock
- *
- * @param aico the aico
- * @param addr the addr
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_usendv_(tb_aico_ref_t aico, tb_ipaddr_ref_t addr, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the sendfile for sock
- *
- * @param aico the aico
- * @param file the file handle
- * @param seek the seek
- * @param size the size, send the left data if size == 0
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_sendf_(tb_aico_ref_t aico, tb_file_ref_t file, tb_hize_t seek, tb_hize_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the read for file
- *
- * @param aico the aico
- * @param seek the seek
- * @param data the data
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_read_(tb_aico_ref_t aico, tb_hize_t seek, tb_byte_t* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the writ for file
- *
- * @param aico the aico
- * @param seek the seek
- * @param data the data
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_writ_(tb_aico_ref_t aico, tb_hize_t seek, tb_byte_t const* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the readv for file
- *
- * @param aico the aico
- * @param seek the seek
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_readv_(tb_aico_ref_t aico, tb_hize_t seek, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the writv for file
- *
- * @param aico the aico
- * @param seek the seek
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_writv_(tb_aico_ref_t aico, tb_hize_t seek, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the fsync for file
- *
- * @param aico the aico
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_fsync_(tb_aico_ref_t aico, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the clos after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_clos_after_(tb_aico_ref_t aico, tb_size_t delay, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the acpt after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_acpt_after_(tb_aico_ref_t aico, tb_size_t delay, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the conn after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param addr the address
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_conn_after_(tb_aico_ref_t aico, tb_size_t delay, tb_ipaddr_ref_t addr, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the recv for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param data the data
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_recv_after_(tb_aico_ref_t aico, tb_size_t delay, tb_byte_t* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the send for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param data the data
- * @param size the size, send the left file data if size == 0
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_send_after_(tb_aico_ref_t aico, tb_size_t delay, tb_byte_t const* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the urecv for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param data the data
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_urecv_after_(tb_aico_ref_t aico, tb_size_t delay, tb_byte_t* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the usend for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param addr the addr
- * @param data the data
- * @param size the size, send the left file data if size == 0
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_usend_after_(tb_aico_ref_t aico, tb_size_t delay, tb_ipaddr_ref_t addr, tb_byte_t const* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the recvv for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_recvv_after_(tb_aico_ref_t aico, tb_size_t delay, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the sendv for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_sendv_after_(tb_aico_ref_t aico, tb_size_t delay, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the urecvv for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param addr the addr
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_urecvv_after_(tb_aico_ref_t aico, tb_size_t delay, tb_ipaddr_ref_t addr, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the usendv for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param addr the addr
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_usendv_after_(tb_aico_ref_t aico, tb_size_t delay, tb_ipaddr_ref_t addr, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the sendfile for sock after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param file the file handle
- * @param seek the seek
- * @param size the size, send the left data if size == 0
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_sendf_after_(tb_aico_ref_t aico, tb_size_t delay, tb_file_ref_t file, tb_hize_t seek, tb_hize_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the read for file after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param seek the seek
- * @param data the data
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_read_after_(tb_aico_ref_t aico, tb_size_t delay, tb_hize_t seek, tb_byte_t* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the writ for file after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param seek the seek
- * @param data the data
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_writ_after_(tb_aico_ref_t aico, tb_size_t delay, tb_hize_t seek, tb_byte_t const* data, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the readv for file after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param seek the seek
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_readv_after_(tb_aico_ref_t aico, tb_size_t delay, tb_hize_t seek, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the writv for file after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param seek the seek
- * @param list the list
- * @param size the size
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_writv_after_(tb_aico_ref_t aico, tb_size_t delay, tb_hize_t seek, tb_iovec_t const* list, tb_size_t size, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! post the fsync for file after the delay time
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_fsync_after_(tb_aico_ref_t aico, tb_size_t delay, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! run aico task after timeout and will be auto-remove it after be expired
- *
- * only once, need continue to call it again if want to repeat task
- *
- * @param aico the aico
- * @param delay the delay time, ms
- * @param func the callback func
- * @param priv the callback data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aico_task_run_(tb_aico_ref_t aico, tb_size_t delay, tb_aico_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/aicp.h b/core/pkg/tbox.pkg/inc/tbox/asio/aicp.h
deleted file mode 100755
index f8c0fbf62..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/aicp.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file aicp.h
- * @ingroup asio
- *
- */
-#ifndef TB_ASIO_AICP_H
-#define TB_ASIO_AICP_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-#include "aice.h"
-#include "../platform/timer.h"
-#include "../container/container.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-
-/// post
-#define tb_aicp_post(aicp, aice) tb_aicp_post_(aicp, aice __tb_debug_vals__)
-#define tb_aicp_post_after(aicp, delay, aice) tb_aicp_post_after_(aicp, delay, aice __tb_debug_vals__)
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! the aicp instance
- *
- * @return the aicp
- */
-tb_aicp_ref_t tb_aicp(tb_noarg_t);
-
-/*! init the aicp
- *
- * @param maxn the aico maxn, using the default maxn if be zero
- *
- * @return the aicp
- */
-tb_aicp_ref_t tb_aicp_init(tb_size_t maxn);
-
-/*! exit the aicp
- *
- * @param aicp the aicp
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_exit(tb_aicp_ref_t aicp);
-
-/*! the aico maxn
- *
- * @param aicp the aicp
- *
- * @return the aico maxn
- */
-tb_size_t tb_aicp_maxn(tb_aicp_ref_t aicp);
-
-/*! post the aice
- *
- * @param aicp the aicp
- * @param aice the aice
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_post_(tb_aicp_ref_t aicp, tb_aice_ref_t aice __tb_debug_decl__);
-
-/*! post the aice
- *
- * @param aicp the aicp
- * @param delay the delay time, ms
- * @param aice the aice
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_post_after_(tb_aicp_ref_t aicp, tb_size_t delay, tb_aice_ref_t aice __tb_debug_decl__);
-
-/*! loop aicp for the external thread
- *
- * @code
- * tb_pointer_t tb_aicp_worker_thread(tb_pointer_t)
- * {
- * tb_aicp_loop(aicp);
- * }
- * @endcode
- *
- * @param aicp the aicp
- */
-tb_void_t tb_aicp_loop(tb_aicp_ref_t aicp);
-
-/*! loop aicp util ... for the external thread
- *
- * @code
- * tb_bool_t tb_aicp_stop_func(tb_pointer_t)
- * {
- * if (...) return tb_true;
- * return tb_false;
- * }
- * tb_pointer_t tb_aicp_worker_thread(tb_pointer_t)
- * {
- * tb_aicp_loop_util(aicp, stop_func, tb_null);
- * }
- * @endcode
- *
- * @param aicp the aicp
- */
-tb_void_t tb_aicp_loop_util(tb_aicp_ref_t aicp, tb_bool_t (*stop)(tb_cpointer_t priv), tb_cpointer_t priv);
-
-/*! kill loop
- *
- * @param aicp the aicp
- */
-tb_void_t tb_aicp_kill(tb_aicp_ref_t aicp);
-
-/*! kill all and cannot continue to post it, but not kill loop
- *
- * @param aicp the aicp
- */
-tb_void_t tb_aicp_kill_all(tb_aicp_ref_t aicp);
-
-/*! wait all exiting
- *
- * @param aicp the aicp
- * @param timeout the timeout
- *
- * @return ok: > 0, timeout: 0, failed: -1
- */
-tb_long_t tb_aicp_wait_all(tb_aicp_ref_t aicp, tb_long_t timeout);
-
-/*! the spak time
- *
- * @param aicp the aicp
- *
- * @return the time
- */
-tb_hong_t tb_aicp_time(tb_aicp_ref_t aicp);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/aioe.h b/core/pkg/tbox.pkg/inc/tbox/asio/aioe.h
deleted file mode 100755
index e9c692a48..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/aioe.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file aioe.h
- * @ingroup asio
- *
- */
-#ifndef TB_ASIO_AIOE_H
-#define TB_ASIO_AIOE_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the aioe code enum, only for sock
-typedef enum __tb_aioe_code_e
-{
- TB_AIOE_CODE_NONE = 0x0000
-, TB_AIOE_CODE_CONN = 0x0001
-, TB_AIOE_CODE_ACPT = 0x0002
-, TB_AIOE_CODE_RECV = 0x0004
-, TB_AIOE_CODE_SEND = 0x0008
-, TB_AIOE_CODE_EALL = TB_AIOE_CODE_RECV | TB_AIOE_CODE_SEND | TB_AIOE_CODE_ACPT | TB_AIOE_CODE_CONN
-, TB_AIOE_CODE_CLEAR = 0x0010 //!< edge trigger. after the event is retrieved by the user, its state is reset
-, TB_AIOE_CODE_ONESHOT = 0x0020 //!< causes the event to return only the first occurrence of the filter being triggered
-
-}tb_aioe_code_e;
-
-/// the aioe type
-typedef struct __tb_aioe_t
-{
- /// the code
- tb_size_t code;
-
- /// the priv
- tb_cpointer_t priv;
-
- /// the aioo
- tb_aioo_ref_t aioo;
-
-}tb_aioe_t, *tb_aioe_ref_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/aioo.h b/core/pkg/tbox.pkg/inc/tbox/asio/aioo.h
deleted file mode 100755
index 372cbd86d..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/aioo.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file aioo.h
- * @ingroup asio
- *
- */
-#ifndef TB_ASIO_AIOO_H
-#define TB_ASIO_AIOO_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! the aioo handle
- *
- * @param aioo the aioo
- *
- * @return the socket
- */
-tb_socket_ref_t tb_aioo_sock(tb_aioo_ref_t aioo);
-
-/*! wait the aioo
- *
- * blocking wait the single event aioo, so need not aiop
- * return the event type if ok, otherwise return 0 for timeout
- *
- * @param sock the sock
- * @param code the aioe code
- * @param timeout the timeout, infinity: -1
- *
- * @return > 0: the aioe code, 0: timeout, -1: failed
- */
-tb_long_t tb_aioo_wait(tb_socket_ref_t sock, tb_size_t code, tb_long_t timeout);
-
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/aiop.h b/core/pkg/tbox.pkg/inc/tbox/asio/aiop.h
deleted file mode 100755
index 4b5cc15e3..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/aiop.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file aiop.h
- * @ingroup asio
- *
- */
-#ifndef TB_ASIO_AIOP_H
-#define TB_ASIO_AIOP_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-#include "aioo.h"
-#include "aioe.h"
-#include "../platform/prefix.h"
-#include "../container/container.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init the aiop
- *
- * @param maxn the maximum number of concurrent objects
- *
- * @return the aiop
- */
-tb_aiop_ref_t tb_aiop_init(tb_size_t maxn);
-
-/*! exit the aiop
- *
- * @param aiop the aiop
- */
-tb_void_t tb_aiop_exit(tb_aiop_ref_t aiop);
-
-/*! cler the aiop
- *
- * @param aiop the aiop
- */
-tb_void_t tb_aiop_cler(tb_aiop_ref_t aiop);
-
-/*! kill the aiop
- *
- * @param aiop the aiop
- */
-tb_void_t tb_aiop_kill(tb_aiop_ref_t aiop);
-
-/*! spak the aiop, break the wait
- *
- * @param aiop the aiop
- */
-tb_void_t tb_aiop_spak(tb_aiop_ref_t aiop);
-
-/*! the aioe code is supported for the aiop?
- *
- * @param aiop the aiop
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aiop_have(tb_aiop_ref_t aiop, tb_size_t code);
-
-/*! addo the aioo
- *
- * @param aiop the aiop
- * @param sock the socket
- * @param code the code
- * @param priv the private data
- *
- * @return the aioo
- */
-tb_aioo_ref_t tb_aiop_addo(tb_aiop_ref_t aiop, tb_socket_ref_t sock, tb_size_t code, tb_cpointer_t priv);
-
-/*! delo the aioo
- *
- * @param aiop the aiop
- * @param aioo the aioo
- *
- */
-tb_void_t tb_aiop_delo(tb_aiop_ref_t aiop, tb_aioo_ref_t aioo);
-
-/*! post the aioe
- *
- * @param aiop the aiop
- * @param aioe the aioe
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aiop_post(tb_aiop_ref_t aiop, tb_aioe_ref_t aioe);
-
-/*! set the aioe
- *
- * @param aiop the aiop
- * @param aioo the aioo
- * @param code the code
- * @param priv the private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aiop_sete(tb_aiop_ref_t aiop, tb_aioo_ref_t aioo, tb_size_t code, tb_cpointer_t priv);
-
-/*! wait the asio objects in the pool
- *
- * blocking wait the multiple event objects
- * return the event number if ok, otherwise return 0 for timeout
- *
- * @param aiop the aiop
- * @param list the aioe list
- * @param maxn the aioe maxn
- * @param timeout the timeout, infinity: -1
- *
- * @return > 0: the aioe list size, 0: timeout, -1: failed
- */
-tb_long_t tb_aiop_wait(tb_aiop_ref_t aiop, tb_aioe_ref_t list, tb_size_t maxn, tb_long_t timeout);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/dns.h b/core/pkg/tbox.pkg/inc/tbox/asio/dns.h
deleted file mode 100755
index 5039b4cec..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/dns.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file dns.h
- * @ingroup asio
- *
- */
-#ifndef TB_ASIO_DNS_H
-#define TB_ASIO_DNS_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "aicp.h"
-#include "../network/ipaddr.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the aicp dns ref type
-typedef struct{}* tb_aicp_dns_ref_t;
-
-/// the aicp dns done func type
-typedef tb_void_t (*tb_aicp_dns_done_func_t)(tb_aicp_dns_ref_t dns, tb_char_t const* host, tb_ipaddr_ref_t addr, tb_cpointer_t priv);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init the dns
- *
- * @param aicp the aicp
- *
- * @return the dns
- */
-tb_aicp_dns_ref_t tb_aicp_dns_init(tb_aicp_ref_t aicp);
-
-/*! kill the dns
- *
- * @param dns the dns
- */
-tb_void_t tb_aicp_dns_kill(tb_aicp_dns_ref_t dns);
-
-/*! exit the dns
- *
- * @param dns the dns
- */
-tb_void_t tb_aicp_dns_exit(tb_aicp_dns_ref_t dns);
-
-/*! done the dns
- *
- * @param dns the dns
- * @param host the host
- * @param timeout the timeout, ms
- * @param func the done func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_dns_done(tb_aicp_dns_ref_t dns, tb_char_t const* host, tb_long_t timeout, tb_aicp_dns_done_func_t func, tb_cpointer_t priv);
-
-/*! the dns aicp
- *
- * @param handle the dns handle
- *
- * @return the aicp
- */
-tb_aicp_ref_t tb_aicp_dns_aicp(tb_aicp_dns_ref_t dns);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/http.h b/core/pkg/tbox.pkg/inc/tbox/asio/http.h
deleted file mode 100755
index 1fddab323..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/http.h
+++ /dev/null
@@ -1,243 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file http.h
- * @ingroup asio
- *
- */
-#ifndef TB_ASIO_HTTP_H
-#define TB_ASIO_HTTP_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "aicp.h"
-#include "../network/http.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the aicp http ref type
-typedef struct{}* tb_aicp_http_ref_t;
-
-/*! the aicp http open func type
- *
- * @param http the http handle
- * @param state the state
- * @param status the http status
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_aicp_http_open_func_t)(tb_aicp_http_ref_t http, tb_size_t state, tb_http_status_t const* status, tb_cpointer_t priv);
-
-/*! the aicp http open func type
- *
- * @param http the http handle
- * @param state the state
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_void_t (*tb_aicp_http_clos_func_t)(tb_aicp_http_ref_t http, tb_size_t state, tb_cpointer_t priv);
-
-/*! the aicp http read func type
- *
- * @param http the http handle
- * @param state the state
- * @param data the readed data
- * @param real the real size, maybe zero
- * @param size the need size
- * @param priv the func private data
- *
- * @return tb_true: ok and continue it if need, tb_false: break it, but not break aicp
- */
-typedef tb_bool_t (*tb_aicp_http_read_func_t)(tb_aicp_http_ref_t http, tb_size_t state, tb_byte_t const* data, tb_size_t real, tb_size_t size, tb_cpointer_t priv);
-
-/*! the aicp http seek func type
- *
- * @param http the http handle
- * @param state the state
- * @param offset the real offset
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_aicp_http_seek_func_t)(tb_aicp_http_ref_t http, tb_size_t state, tb_hize_t offset, tb_cpointer_t priv);
-
-/*! the aicp http task func type
- *
- * @param http the http handle
- * @param state the state
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_aicp_http_task_func_t)(tb_aicp_http_ref_t http, tb_size_t state, tb_cpointer_t priv);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init the http
- *
- * @param aicp the aicp
- *
- * @return the http
- */
-tb_aicp_http_ref_t tb_aicp_http_init(tb_aicp_ref_t aicp);
-
-/*! kill the http
- *
- * @param http the http
- */
-tb_void_t tb_aicp_http_kill(tb_aicp_http_ref_t http);
-
-/*! exit the http
- *
- * @param http the http
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_exit(tb_aicp_http_ref_t http);
-
-/*! open the http
- *
- * @param http the http
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_open(tb_aicp_http_ref_t http, tb_aicp_http_open_func_t func, tb_cpointer_t priv);
-
-/*! close the http
- *
- * @param http the http
- * @param func the func
- * @param priv the private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_clos(tb_aicp_http_ref_t http, tb_aicp_http_clos_func_t func, tb_cpointer_t priv);
-
-/*! try closing the http
- *
- * @param http the http
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_clos_try(tb_aicp_http_ref_t http);
-
-/*! read the http
- *
- * @param http the http
- * @param size the read size, using the default size if be zero
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_read(tb_aicp_http_ref_t http, tb_size_t size, tb_aicp_http_read_func_t func, tb_cpointer_t priv);
-
-/*! read the http after the delay time
- *
- * @param http the http
- * @param delay the delay time, ms
- * @param size the read size, using the default size if be zero
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_read_after(tb_aicp_http_ref_t http, tb_size_t delay, tb_size_t size, tb_aicp_http_read_func_t func, tb_cpointer_t priv);
-
-/*! seek the http
- *
- * @param http the http
- * @param offset the offset
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_seek(tb_aicp_http_ref_t http, tb_hize_t offset, tb_aicp_http_seek_func_t func, tb_cpointer_t priv);
-
-/*! task the http
- *
- * @param http the http
- * @param delay the delay time, ms
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_task(tb_aicp_http_ref_t http, tb_size_t delay, tb_aicp_http_task_func_t func, tb_cpointer_t priv);
-
-/*! open and read the http, open it first if not opened
- *
- * @param http the http
- * @param size the read size, using the default size if be zero
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_open_read(tb_aicp_http_ref_t http, tb_size_t size, tb_aicp_http_read_func_t func, tb_cpointer_t priv);
-
-/*! open and seek the http, open it first if not opened
- *
- * @param http the http
- * @param offset the offset
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_open_seek(tb_aicp_http_ref_t http, tb_hize_t offset, tb_aicp_http_seek_func_t func, tb_cpointer_t priv);
-
-/*! the http aicp
- *
- * @param http the http
- *
- * @return the aicp
- */
-tb_aicp_ref_t tb_aicp_http_aicp(tb_aicp_http_ref_t http);
-
-/*! ctrl the http option
- *
- * @param http the http
- * @param option the http option
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_http_ctrl(tb_aicp_http_ref_t http, tb_size_t option, ...);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/asio/ssl.h b/core/pkg/tbox.pkg/inc/tbox/asio/ssl.h
deleted file mode 100755
index a2d192e52..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/asio/ssl.h
+++ /dev/null
@@ -1,269 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="ssl://www.gnu.org/licenses/"> ssl://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file ssl.h
- * @ingroup asio
- *
- */
-#ifndef TB_ASIO_SSL_H
-#define TB_ASIO_SSL_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "aicp.h"
-#include "../network/ssl.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the aicp ssl ref type
-typedef struct{}* tb_aicp_ssl_ref_t;
-
-/*! the aicp ssl open func type
- *
- * @param ssl the ssl
- * @param state the state
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_aicp_ssl_open_func_t)(tb_aicp_ssl_ref_t ssl, tb_size_t state, tb_cpointer_t priv);
-
-/*! the aicp ssl clos func type
- *
- * @param ssl the ssl
- * @param state the state
- * @param priv the func private data
- */
-typedef tb_void_t (*tb_aicp_ssl_clos_func_t)(tb_aicp_ssl_ref_t ssl, tb_size_t state, tb_cpointer_t priv);
-
-/*! the aicp ssl read func type
- *
- * @param ssl the ssl
- * @param state the state
- * @param data the readed data
- * @param real the real size, maybe zero
- * @param size the need size
- * @param priv the func private data
- *
- * @return tb_true: ok and continue it if need, tb_false: break it, but not break aicp
- */
-typedef tb_bool_t (*tb_aicp_ssl_read_func_t)(tb_aicp_ssl_ref_t ssl, tb_size_t state, tb_byte_t* data, tb_size_t real, tb_size_t size, tb_cpointer_t priv);
-
-/*! the aicp ssl writ func type
- *
- * @param ssl the ssl
- * @param state the state
- * @param data the writed data
- * @param real the real size, maybe zero
- * @param size the need size
- * @param priv the func private data
- *
- * @return tb_true: ok and continue it if need, tb_false: break it, but not break aicp
- */
-typedef tb_bool_t (*tb_aicp_ssl_writ_func_t)(tb_aicp_ssl_ref_t ssl, tb_size_t state, tb_byte_t const* data, tb_size_t real, tb_size_t size, tb_cpointer_t priv);
-
-/*! the aicp ssl task func type
- *
- * @param ssl the ssl
- * @param state the state
- * @param delay the delay
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_aicp_ssl_task_func_t)(tb_aicp_ssl_ref_t ssl, tb_size_t state, tb_size_t delay, tb_cpointer_t priv);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init the ssl
- *
- * @param aicp the aicp
- * @param bserver is server endpoint?
- *
- * @return the ssl
- */
-tb_aicp_ssl_ref_t tb_aicp_ssl_init(tb_aicp_ref_t aicp, tb_bool_t bserver);
-
-/*! kill the ssl
- *
- * @param ssl the ssl
- */
-tb_void_t tb_aicp_ssl_kill(tb_aicp_ssl_ref_t ssl);
-
-/*! exit the ssl
- *
- * @param ssl the ssl
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_exit(tb_aicp_ssl_ref_t ssl);
-
-/*! set the ssl aico
- *
- * @param ssl the ssl
- * @param aico the aico
- */
-tb_void_t tb_aicp_ssl_set_aico(tb_aicp_ssl_ref_t ssl, tb_aico_ref_t aico);
-
-/*! set the ssl timeout
- *
- * @param ssl the ssl
- * @param timeout the ssl timeout, using the default timeout if be zero
- */
-tb_void_t tb_aicp_ssl_set_timeout(tb_aicp_ssl_ref_t ssl, tb_long_t timeout);
-
-/*! open the ssl
- *
- * @param ssl the ssl
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_open(tb_aicp_ssl_ref_t ssl, tb_aicp_ssl_open_func_t func, tb_cpointer_t priv);
-
-/*! close the ssl
- *
- * @param handle the ssl
- * @param func the func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_clos(tb_aicp_ssl_ref_t ssl, tb_aicp_ssl_clos_func_t func, tb_cpointer_t priv);
-
-/*! try closing the ssl
- *
- * @param ssl the ssl
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_clos_try(tb_aicp_ssl_ref_t ssl);
-
-/*! read the ssl
- *
- * @param ssl the ssl
- * @param data the read data
- * @param size the read size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_read(tb_aicp_ssl_ref_t ssl, tb_byte_t* data, tb_size_t size, tb_aicp_ssl_read_func_t func, tb_cpointer_t priv);
-
-/*! writ the ssl
- *
- * @param ssl the ssl
- * @param data the data
- * @param size the size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_writ(tb_aicp_ssl_ref_t ssl, tb_byte_t const* data, tb_size_t size, tb_aicp_ssl_writ_func_t func, tb_cpointer_t priv);
-
-/*! read the ssl after the delay time
- *
- * @param ssl the ssl
- * @param delay the delay time, ms
- * @param data the read data
- * @param size the read size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_read_after(tb_aicp_ssl_ref_t ssl, tb_size_t delay, tb_byte_t* data, tb_size_t size, tb_aicp_ssl_read_func_t func, tb_cpointer_t priv);
-
-/*! writ the ssl after the delay time
- *
- * @param ssl the ssl
- * @param delay the delay time, ms
- * @param data the data
- * @param size the size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_writ_after(tb_aicp_ssl_ref_t ssl, tb_size_t delay, tb_byte_t const* data, tb_size_t size, tb_aicp_ssl_writ_func_t func, tb_cpointer_t priv);
-
-/*! task the ssl
- *
- * @param ssl the ssl
- * @param delay the delay time, ms
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_task(tb_aicp_ssl_ref_t ssl, tb_size_t delay, tb_aicp_ssl_task_func_t func, tb_cpointer_t priv);
-
-/*! open and read the ssl, open it first if not opened
- *
- * @param ssl the ssl
- * @param data the read data
- * @param size the read size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_open_read(tb_aicp_ssl_ref_t ssl, tb_byte_t* data, tb_size_t size, tb_aicp_ssl_read_func_t func, tb_cpointer_t priv);
-
-/*! open and writ the ssl, open it first if not opened
- *
- * @param ssl the ssl
- * @param data the data
- * @param size the size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_aicp_ssl_open_writ(tb_aicp_ssl_ref_t ssl, tb_byte_t const* data, tb_size_t size, tb_aicp_ssl_writ_func_t func, tb_cpointer_t priv);
-
-/*! the ssl aicp
- *
- * @param ssl the ssl
- *
- * @return the aicp
- */
-tb_aicp_ref_t tb_aicp_ssl_aicp(tb_aicp_ssl_ref_t ssl);
-
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/hash/crc.h b/core/pkg/tbox.pkg/inc/tbox/hash/crc.h
deleted file mode 100755
index 07c92eef2..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/hash/crc.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file crc.h
- * @ingroup hash
- *
- */
-#ifndef TB_HASH_CRC_H
-#define TB_HASH_CRC_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-
-// encode value
-#define tb_crc_make_value(mode, crc, value) tb_crc_make(mode, crc, (tb_byte_t const*)&(value), sizeof(value))
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the crc mode type
-typedef enum __tb_crc_mode_t
-{
-#ifdef __tb_small__
- TB_CRC_MODE_16_CCITT = 0
-, TB_CRC_MODE_32_IEEE_LE = 1
-, TB_CRC_MODE_MAX = 2
-#else
- TB_CRC_MODE_8_ATM = 0
-, TB_CRC_MODE_16_ANSI = 1
-, TB_CRC_MODE_16_CCITT = 2
-, TB_CRC_MODE_32_IEEE = 3
-, TB_CRC_MODE_32_IEEE_LE = 4
-, TB_CRC_MODE_MAX = 5
-#endif
-
-}tb_crc_mode_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! make crc
- *
- * @param mode the crc mode
- * @param data the input data
- * @param size the input size
- * @param seed uses this seed if be non-zero
- *
- * @return the crc value
- */
-tb_uint32_t tb_crc_make(tb_crc_mode_t mode, tb_byte_t const* data, tb_size_t size, tb_uint32_t seed);
-
-/*! make crc for cstr
- *
- * @param mode the crc mode
- * @param cstr the input cstr
- * @param seed uses this seed if be non-zero
- *
- * @return the crc value
- */
-tb_uint32_t tb_crc_make_from_cstr(tb_crc_mode_t mode, tb_char_t const* cstr, tb_uint32_t seed);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/adler32.h b/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/adler32.h
deleted file mode 100755
index 6f2b0691b..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/adler32.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file adler32.h
- * @ingroup hash
- *
- */
-#ifndef TB_HASH_DEPRECATED_ADLER32_H
-#define TB_HASH_DEPRECATED_ADLER32_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! encode adler32 hash
- *
- * @param data the data
- * @param size the size
- *
- * @return the adler32 value
- */
-__tb_deprecated__
-tb_uint32_t tb_adler32_encode(tb_byte_t const* data, tb_size_t size);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/crc.h b/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/crc.h
deleted file mode 100755
index 98f1ca499..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/crc.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file crc.h
- * @ingroup hash
- *
- */
-#ifndef TB_HASH_DEPRECATED_CRC_H
-#define TB_HASH_DEPRECATED_CRC_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-
-// encode value
-#define tb_crc_encode_value(mode, crc, value) tb_crc_encode(mode, crc, (tb_byte_t const*)&(value), sizeof(value))
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the crc mode type
-typedef enum __tb_crc_mode_t
-{
-#ifdef __tb_small__
- TB_CRC_MODE_16_CCITT = 0
-, TB_CRC_MODE_32_IEEE_LE = 1
-, TB_CRC_MODE_MAX = 2
-#else
- TB_CRC_MODE_8_ATM = 0
-, TB_CRC_MODE_16_ANSI = 1
-, TB_CRC_MODE_16_CCITT = 2
-, TB_CRC_MODE_32_IEEE = 3
-, TB_CRC_MODE_32_IEEE_LE = 4
-, TB_CRC_MODE_MAX = 5
-#endif
-
-}tb_crc_mode_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! encode crc
- *
- * @param mode the crc mode
- * @param crc the initial crc value
- * @param data the input data
- * @param size the input size
- *
- * @return the crc value
- */
-__tb_deprecated__
-tb_uint32_t tb_crc_encode(tb_crc_mode_t mode, tb_uint32_t crc, tb_byte_t const* data, tb_size_t size);
-
-/*! encode crc for cstr
- *
- * @param mode the crc mode
- * @param crc the initial crc value
- * @param cstr the input cstr
- *
- * @return the crc value
- */
-__tb_deprecated__
-tb_uint32_t tb_crc_encode_cstr(tb_crc_mode_t mode, tb_uint32_t crc, tb_char_t const* cstr);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/deprecated.h b/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/deprecated.h
deleted file mode 100755
index 01499da5b..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/deprecated.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file deprecated.h
- *
- */
-#ifndef TB_HASH_DEPRECATED_H
-#define TB_HASH_DEPRECATED_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "crc.h"
-#include "md5.h"
-#include "sha.h"
-#include "deprecated.h"
-
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/md5.h b/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/md5.h
deleted file mode 100755
index 3b045cc72..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/md5.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed ip the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file md5.h
- * @ingroup hash
- *
- */
-#ifndef TB_HASH_DEPRECATED_MD5_H
-#define TB_HASH_DEPRECATED_MD5_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! encode md5
- *
- * @param ib the input data
- * @param in the input size
- * @param ob the output data
- * @param on the output size
- *
- * @return the real size
- */
-__tb_deprecated__
-tb_size_t tb_md5_encode(tb_byte_t const* ib, tb_size_t in, tb_byte_t* ob, tb_size_t on);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/prefix.h b/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/prefix.h
deleted file mode 100755
index 093788755..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/prefix.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file prefix.h
- *
- */
-#ifndef TB_HASH_DEPRECATED_PREFIX_H
-#define TB_HASH_DEPRECATED_PREFIX_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "../prefix.h"
-
-
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/sha.h b/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/sha.h
deleted file mode 100755
index 286912b2a..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/hash/deprecated/sha.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed ip the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file sha.h
- * @ingroup hash
- *
- */
-#ifndef TB_HASH_DEPRECATED_SHA_H
-#define TB_HASH_DEPRECATED_SHA_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! encode sha
- *
- * @param ib the input data
- * @param in the input size
- * @param ob the output data
- * @param on the output size
- *
- * @return the real size
- */
-__tb_deprecated__
-tb_size_t tb_sha_encode(tb_size_t mode, tb_byte_t const* ib, tb_size_t ip, tb_byte_t* ob, tb_size_t on);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/math/impl/random.h b/core/pkg/tbox.pkg/inc/tbox/math/impl/random.h
deleted file mode 100644
index c73accf88..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/math/impl/random.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file random.h
- *
- */
-#ifndef TB_MATH_IMPL_RANDOM_H
-#define TB_MATH_IMPL_RANDOM_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-// the random type enum
-typedef enum __tb_random_type_e
-{
- TB_RANDOM_TYPE_NONE = 0
-, TB_RANDOM_TYPE_LINEAR = 1
-
-}tb_random_type_e;
-
-// the random impl type
-typedef struct __tb_random_impl_t
-{
- // the type
- tb_size_t type;
-
- // exit
- tb_void_t (*exit)(struct __tb_random_impl_t* random);
-
- // seed
- tb_void_t (*seed)(struct __tb_random_impl_t* random, tb_size_t seed);
-
- // clear
- tb_void_t (*clear)(struct __tb_random_impl_t* random);
-
- // range
- tb_long_t (*range)(struct __tb_random_impl_t* random, tb_long_t beg, tb_long_t end);
-
-}tb_random_impl_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * declaration
- */
-
-/* init the linear random
- *
- * @param seed the seed
- *
- * @return the random
- */
-tb_random_impl_t* tb_random_linear_init(tb_size_t seed);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/math/random.h b/core/pkg/tbox.pkg/inc/tbox/math/random.h
deleted file mode 100644
index f21a364ee..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/math/random.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file random.h
- * @ingroup math
- *
- */
-#ifndef TB_MATH_RANDOM_H
-#define TB_MATH_RANDOM_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the random ref type
-typedef struct{}* tb_random_ref_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init random
- *
- * @param type the random type
- * @param seed the random seed
- *
- * @return the random
- */
-tb_random_ref_t tb_random_init(tb_size_t type, tb_size_t seed);
-
-/*! exit random
- *
- * @param random the random
- */
-tb_void_t tb_random_exit(tb_random_ref_t random);
-
-/*! update random seed
- *
- * @param random the random, using the default random if be null
- * @param seed the random seed
- */
-tb_void_t tb_random_seed(tb_random_ref_t random, tb_size_t seed);
-
-/*! clear cache value and reset to the initial value
- *
- * @param random the random, using the default random if be null
- */
-tb_void_t tb_random_clear(tb_random_ref_t random);
-
-/*! generate the random with range: [beg, end)
- *
- * @param random the random, using the default random if be null
- * @param beg the begin value
- * @param end the end value
- *
- * @return the random value
- */
-tb_long_t tb_random_range(tb_random_ref_t random, tb_long_t beg, tb_long_t end);
-
-#ifdef TB_CONFIG_TYPE_HAVE_FLOAT
-/*! generate the float random with range: [beg, end)
- *
- * @param random the random, using the default random if be null
- * @param beg the begin value
- * @param end the end value
- *
- * @return the random value
- */
-tb_float_t tb_random_rangef(tb_random_ref_t random, tb_float_t beg, tb_float_t end);
-#endif
-
-/*! generate the random with range: [0, max)
- *
- * @param random the random, using the default random if be null
- *
- * @return the random value
- */
-tb_long_t tb_random_value(tb_random_ref_t random);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/platform/arch/arm/atomic.h b/core/pkg/tbox.pkg/inc/tbox/platform/arch/arm/atomic.h
deleted file mode 100755
index 131cd2ed3..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/platform/arch/arm/atomic.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file atomic.h
- *
- */
-#ifndef TB_PLATFORM_ARCH_ARM_ATOMIC_H
-#define TB_PLATFORM_ARCH_ARM_ATOMIC_H
-
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/platform/dns.h b/core/pkg/tbox.pkg/inc/tbox/platform/dns.h
deleted file mode 100755
index 8fa360c63..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/platform/dns.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file dns.h
- * @ingroup platform
- *
- */
-#ifndef TB_PLATFORM_DNS_H
-#define TB_PLATFORM_DNS_H
-
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init dns
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_dns_init(tb_noarg_t);
-
-/// exit dns
-tb_void_t tb_dns_exit(tb_noarg_t);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/platform/thread_store.h b/core/pkg/tbox.pkg/inc/tbox/platform/thread_store.h
deleted file mode 100755
index ea15fe37e..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/platform/thread_store.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file thread_store.h
- * @ingroup platform
- *
- */
-#ifndef TB_PLATFORM_THREAD_STORE_H
-#define TB_PLATFORM_THREAD_STORE_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-// the thread store data type enum
-typedef enum __tb_thread_store_data_type_e
-{
- TB_THREAD_STORE_DATA_TYPE_NONE = 0
-, TB_THREAD_STORE_DATA_TYPE_EXCEPTION = 1
-, TB_THREAD_STORE_DATA_TYPE_USER = 2
-
-}tb_thread_store_data_type_e;
-
-// the thread store data type
-typedef struct __tb_thread_store_data_t
-{
- // the data type
- tb_size_t type;
-
- // the free func
- tb_void_t (*free)(struct __tb_thread_store_data_t* data);
-
-}tb_thread_store_data_t, *tb_thread_store_data_ref_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init thread store for thread store
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_thread_store_init(tb_noarg_t);
-
-/// exit thread store
-tb_void_t tb_thread_store_exit(tb_noarg_t);
-
-/*! set thread store data
- *
- * @param data the thread store data
- */
-tb_void_t tb_thread_store_setp(tb_thread_store_data_t const* data);
-
-/*! get thread store data
- *
- * @return the thread store data
- */
-tb_thread_store_data_ref_t tb_thread_store_getp(tb_noarg_t);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/prefix/asm.h b/core/pkg/tbox.pkg/inc/tbox/prefix/asm.h
deleted file mode 100755
index 7480e805d..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/prefix/asm.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file asm.h
- *
- */
-#ifndef TB_PREFIX_ASM_H
-#define TB_PREFIX_ASM_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "asm/asm.h"
-
-
-#endif
-
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/arm/prefix.S b/core/pkg/tbox.pkg/inc/tbox/prefix/asm/arm/prefix.S
deleted file mode 100755
index 85744e43e..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/arm/prefix.S
+++ /dev/null
@@ -1,148 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file prefix.S
- *
- */
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-
-#ifdef TB_ARCH_ARM_THUMB
-# define A @
-# define T
-#else
-# define A
-# define T @
-#endif
-
-#ifdef TB_ARCH_ELF
-# define ELF
-# define EXTERN_ASM
-#else
-# define ELF @
-# define EXTERN_ASM _
-#endif
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * arch
- */
-
-#if defined(TB_ARCH_ARM_v7A)
- .arch armv7-a
-#elif defined(TB_ARCH_ARM_v7)
- .arch armv7
-#elif defined(TB_ARCH_ARM_v6)
- .arch armv6
-#elif defined(TB_ARCH_ARM_v5te)
- .arch armv5te
-#elif defined(TB_ARCH_ARM_v5)
- .arch armv5
-#endif
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * fpu
- */
-
-#if defined(TB_ARCH_ARM_NEON) && !defined(TB_ARCH_ARM64)
- .fpu neon
-#elif defined(TB_ARCH_VFP)
- .fpu vfp
-#endif
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * syntax
- */
-#ifndef TB_ARCH_ARM64
- .syntax unified
-#endif
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * thumb
- */
-
-// will crash
-//T .thumb
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * eabi
- */
-#ifndef TB_ARCH_ARM64
-ELF .eabi_attribute 25, 1
-#endif
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-
-/*! function
- *
- * @code
- function func_xxxx, export=1
- ...
- bx lr
- endfunc
- @endcode
- */
-.macro function name, export=0
- .macro endfunc
-ELF .size \name, . - \name
- .endfunc
- .purgem endfunc
- .endm
-
- .text
-#ifdef TB_ARCH_ARM64
- .align 8
-#else
- .align 4
-#endif
- .if \export
- .global EXTERN_ASM\name
- .hidden EXTERN_ASM\name
-EXTERN_ASM\name:
- .endif
-ELF .type \name, %function
- .func \name
-\name:
-.endm
-
-/*! label
- *
- * @code
- label name
- xxx
- xxx
- bl name
- @endcode
- */
-.macro label name
-#ifdef TB_ARCH_ARM64
- .align 8
-#else
- .align 4
-#endif
-\name:
-.endm
diff --git a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/arm/prefix.h b/core/pkg/tbox.pkg/inc/tbox/prefix/asm/arm/prefix.h
deleted file mode 100755
index 58d8a6e9f..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/arm/prefix.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file prefix.h
- *
- */
-#ifndef TB_PREFIX_ASM_ARM_PREFIX_H
-#define TB_PREFIX_ASM_ARM_PREFIX_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "../prefix.h"
-
-
-#endif
-
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/asm.h b/core/pkg/tbox.pkg/inc/tbox/prefix/asm/asm.h
deleted file mode 100755
index f3c6bbfa4..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/asm.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file asm.h
- *
- */
-#ifndef TB_PREFIX_ASM_ASM_H
-#define TB_PREFIX_ASM_ASM_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-#include "cache.h"
-
-
-#endif
-
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/cache.h b/core/pkg/tbox.pkg/inc/tbox/prefix/asm/cache.h
deleted file mode 100755
index 9ffa51d6d..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/cache.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file cache.h
- *
- */
-#ifndef TB_PREFIX_ASM_CACHE_H
-#define TB_PREFIX_ASM_CACHE_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-
-// the cpu L1 cache shift, default: (1 << 5) == 32 bytes
-#ifndef TB_L1_CACHE_SHIFT
-# define TB_L1_CACHE_SHIFT (5)
-#endif
-
-// the cpu L1 cache bytes, default: 32 bytes
-#ifndef TB_L1_CACHE_BYTES
-# define TB_L1_CACHE_BYTES (1 << TB_L1_CACHE_SHIFT)
-#endif
-
-// the smp cache bytes
-#ifndef TB_SMP_CACHE_BYTES
-# define TB_SMP_CACHE_BYTES TB_L1_CACHE_BYTES
-#endif
-
-// the cacheline aligned keyword
-#ifndef __tb_cacheline_aligned__
-# if defined(TB_COMPILER_IS_GCC)
-# define __tb_cacheline_aligned__ __attribute__((__aligned__(TB_SMP_CACHE_BYTES)))
-# elif defined(TB_COMPILER_IS_MSVC)
-# if TB_SMP_CACHE_BYTES == 4
-# define __tb_cacheline_aligned__ __declspec(align(4))
-# elif TB_SMP_CACHE_BYTES == 8
-# define __tb_cacheline_aligned__ __declspec(align(8))
-# elif TB_SMP_CACHE_BYTES == 16
-# define __tb_cacheline_aligned__ __declspec(align(16))
-# elif TB_SMP_CACHE_BYTES == 32
-# define __tb_cacheline_aligned__ __declspec(align(32))
-# elif TB_SMP_CACHE_BYTES == 64
-# define __tb_cacheline_aligned__ __declspec(align(64))
-# elif TB_SMP_CACHE_BYTES == 128
-# define __tb_cacheline_aligned__ __declspec(align(128))
-# elif TB_SMP_CACHE_BYTES == 256
-# define __tb_cacheline_aligned__ __declspec(align(256))
-# else
-# error unknown cacheline bytes
-# endif
-# else
-# define __tb_cacheline_aligned__
-# endif
-#endif
-
-#endif
-
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/prefix.S b/core/pkg/tbox.pkg/inc/tbox/prefix/asm/prefix.S
deleted file mode 100755
index 574675b8a..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/prefix.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file prefix.S
- *
- */
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "asm.h"
-#if defined(TB_ARCH_ARM)
-# include "arm/prefix.S"
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/prefix.h b/core/pkg/tbox.pkg/inc/tbox/prefix/asm/prefix.h
deleted file mode 100755
index d211e155e..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/prefix/asm/prefix.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file prefix.h
- *
- */
-#ifndef TB_PREFIX_ASM_PREFIX_H
-#define TB_PREFIX_ASM_PREFIX_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "../config.h"
-#include "../arch.h"
-#include "../cpu.h"
-#include "../endian.h"
-#include "../compiler.h"
-
-
-#endif
-
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/stream/async_stream.h b/core/pkg/tbox.pkg/inc/tbox/stream/async_stream.h
deleted file mode 100755
index 0d7c5cece..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/stream/async_stream.h
+++ /dev/null
@@ -1,724 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file async_stream.h
- * @ingroup stream
- *
- */
-#ifndef TB_STREAM_ASYNC_STREAM_H
-#define TB_STREAM_ASYNC_STREAM_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-#include "../asio/asio.h"
-#include "../libc/libc.h"
-#include "../network/url.h"
-#include "../memory/memory.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-
-/// open
-#define tb_async_stream_open(stream, func, priv) tb_async_stream_open_(stream, func, priv __tb_debug_vals__)
-
-/// clos
-#define tb_async_stream_clos(stream, func, priv) tb_async_stream_clos_(stream, func, priv __tb_debug_vals__)
-
-/// read
-#define tb_async_stream_read(stream, size, func, priv) tb_async_stream_read_(stream, size, func, priv __tb_debug_vals__)
-
-/// writ
-#define tb_async_stream_writ(stream, data, size, func, priv) tb_async_stream_writ_(stream, data, size, func, priv __tb_debug_vals__)
-
-/// seek
-#define tb_async_stream_seek(stream, offset, func, priv) tb_async_stream_seek_(stream, offset, func, priv __tb_debug_vals__)
-
-/// sync
-#define tb_async_stream_sync(stream, bclosing, func, priv) tb_async_stream_sync_(stream, bclosing, func, priv __tb_debug_vals__)
-
-/// task
-#define tb_async_stream_task(stream, delay, func, priv) tb_async_stream_task_(stream, delay, func, priv __tb_debug_vals__)
-
-/// open and read
-#define tb_async_stream_open_read(stream, size, func, priv) tb_async_stream_open_read_(stream, size, func, priv __tb_debug_vals__)
-
-/// open and writ
-#define tb_async_stream_open_writ(stream, data, size, func, priv) tb_async_stream_open_writ_(stream, data, size, func, priv __tb_debug_vals__)
-
-/// open and seek
-#define tb_async_stream_open_seek(stream, offset, func, priv) tb_async_stream_open_seek_(stream, offset, func, priv __tb_debug_vals__)
-
-/// read after delay
-#define tb_async_stream_read_after(stream, delay, size, func, priv) tb_async_stream_read_after_(stream, delay, size, func, priv __tb_debug_vals__)
-
-/// writ after delay
-#define tb_async_stream_writ_after(stream, delay, data, size, func, priv) tb_async_stream_writ_after_(stream, delay, data, size, func, priv __tb_debug_vals__)
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/*! the stream open func type
- *
- * @param stream the stream
- * @param state the state
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_async_stream_open_func_t)(tb_async_stream_ref_t stream, tb_size_t state, tb_cpointer_t priv);
-
-/*! the stream clos func type
- *
- * @param stream the stream
- * @param state the state
- * @param priv the func private data
- */
-typedef tb_void_t (*tb_async_stream_clos_func_t)(tb_async_stream_ref_t stream, tb_size_t state, tb_cpointer_t priv);
-
-/*! the stream read func type
- *
- * @param stream the stream
- * @param state the state
- * @param data the readed data
- * @param real the real size, maybe zero
- * @param size the need size
- * @param priv the func private data
- *
- * @return tb_true: ok and continue it if need, tb_false: break it, but not break aicp
- */
-typedef tb_bool_t (*tb_async_stream_read_func_t)(tb_async_stream_ref_t stream, tb_size_t state, tb_byte_t const* data, tb_size_t real, tb_size_t size, tb_cpointer_t priv);
-
-/*! the stream writ func type
- *
- * @param stream the stream
- * @param state the state
- * @param data the writed data
- * @param real the real size, maybe zero
- * @param size the need size
- * @param priv the func private data
- *
- * @return tb_true: ok and continue it if need, tb_false: break it, but not break aicp
- */
-typedef tb_bool_t (*tb_async_stream_writ_func_t)(tb_async_stream_ref_t stream, tb_size_t state, tb_byte_t const* data, tb_size_t real, tb_size_t size, tb_cpointer_t priv);
-
-/*! the stream seek func type
- *
- * @param stream the stream
- * @param state the state
- * @param offset the real offset
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_async_stream_seek_func_t)(tb_async_stream_ref_t stream, tb_size_t state, tb_hize_t offset, tb_cpointer_t priv);
-
-/*! the stream sync func type
- *
- * @param stream the stream
- * @param state the state
- * @param bclosing is closing?
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_async_stream_sync_func_t)(tb_async_stream_ref_t stream, tb_size_t state, tb_bool_t bclosing, tb_cpointer_t priv);
-
-/*! the stream task func type
- *
- * @param stream the stream
- * @param state the state
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: error, but not break aicp
- */
-typedef tb_bool_t (*tb_async_stream_task_func_t)(tb_async_stream_ref_t stream, tb_size_t state, tb_cpointer_t priv);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init async stream
- *
- * @param aicp the aicp
- * @param type the stream type
- * @param type_size the stream type size
- * @param rcache the read cache size
- * @param wcache the writ cache size
- * @param open the stream impl func: open
- * @param clos the stream impl func: clos
- * @param exit the stream impl func: exit, optional
- * @param ctrl the stream impl func: ctrl
- * @param wait the stream impl func: wait
- * @param read the stream impl func: read
- * @param writ the stream impl func: writ
- * @param seek the stream impl func: seek, optional
- * @param sync the stream impl func: sync, optional
- * @param kill the stream impl func: kill, optional
- *
- * @return the stream
- *
- * @code
- // the custom xxxx async stream type
- typedef struct __tb_async_stream_xxxx_impl_t
- {
- // the xxxx data
- tb_handle_t xxxx;
-
- }tb_async_stream_xxxx_impl_t;
-
- static tb_bool_t tb_async_stream_xxxx_impl_open(tb_async_stream_ref_t stream, tb_async_stream_open_func_t func, tb_cpointer_t priv)
- {
- // check
- tb_async_stream_xxxx_impl_t* impl = (tb_async_stream_xxxx_impl_t*)stream;
- tb_assert_and_check_return_val(impl, tb_false);
-
- // ok
- return tb_true;
- }
- static tb_bool_t tb_async_stream_xxxx_impl_clos(tb_async_stream_ref_t stream, tb_async_stream_clos_func_t, tb_cpointer_t priv)
- {
- // check
- tb_async_stream_xxxx_impl_t* impl = (tb_async_stream_xxxx_impl_t*)stream;
- tb_assert_and_check_return_val(impl, tb_false);
-
- // ok
- return tb_true;
- }
-
- // define other xxxx async stream func
- // ...
-
- // init async stream
- tb_async_stream_ref_t stream = tb_async_stream_init( tb_aicp()
- , TB_STREAM_TYPE_XXXX
- , sizeof(tb_async_stream_xxxx_impl_t)
- , 0
- , 0
- , tb_async_stream_xxxx_impl_open_try
- , tb_async_stream_xxxx_impl_clos_try
- , tb_async_stream_xxxx_impl_open
- , tb_async_stream_xxxx_impl_clos
- , tb_async_stream_xxxx_impl_exit
- , tb_async_stream_xxxx_impl_kill
- , tb_async_stream_xxxx_impl_ctrl
- , tb_async_stream_xxxx_impl_read
- , tb_async_stream_xxxx_impl_writ
- , tb_async_stream_xxxx_impl_seek
- , tb_async_stream_xxxx_impl_sync
- , tb_async_stream_xxxx_impl_task
- );
-
- // using async stream
- // ...
-
- * @endcode
- */
-tb_async_stream_ref_t tb_async_stream_init( tb_aicp_ref_t aicp
- , tb_size_t type
- , tb_size_t type_size
- , tb_size_t rcache
- , tb_size_t wcache
- , tb_bool_t (*open_try)(tb_async_stream_ref_t stream)
- , tb_bool_t (*clos_try)(tb_async_stream_ref_t stream)
- , tb_bool_t (*open)(tb_async_stream_ref_t stream, tb_async_stream_open_func_t func, tb_cpointer_t priv)
- , tb_bool_t (*clos)(tb_async_stream_ref_t stream, tb_async_stream_clos_func_t func, tb_cpointer_t priv)
- , tb_bool_t (*exit)(tb_async_stream_ref_t stream)
- , tb_void_t (*kill)(tb_async_stream_ref_t stream)
- , tb_bool_t (*ctrl)(tb_async_stream_ref_t stream, tb_size_t ctrl, tb_va_list_t args)
- , tb_bool_t (*read)(tb_async_stream_ref_t stream, tb_size_t delay, tb_byte_t* data, tb_size_t size, tb_async_stream_read_func_t func, tb_cpointer_t priv)
- , tb_bool_t (*writ)(tb_async_stream_ref_t stream, tb_size_t delay, tb_byte_t const* data, tb_size_t size, tb_async_stream_writ_func_t func, tb_cpointer_t priv)
- , tb_bool_t (*seek)(tb_async_stream_ref_t stream, tb_hize_t offset, tb_async_stream_seek_func_t func, tb_cpointer_t priv)
- , tb_bool_t (*sync)(tb_async_stream_ref_t stream, tb_bool_t bclosing, tb_async_stream_sync_func_t func, tb_cpointer_t priv)
- , tb_bool_t (*task)(tb_async_stream_ref_t stream, tb_size_t delay, tb_async_stream_task_func_t func, tb_cpointer_t priv));
-
-/*! init data stream
- *
- * @param aicp the aicp, using the default aicp if be null
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_data(tb_aicp_ref_t aicp);
-
-/*! init file stream
- *
- * @param aicp the aicp, using the default aicp if be null
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_file(tb_aicp_ref_t aicp);
-
-/*! init sock stream
- *
- * @param aicp the aicp, using the default aicp if be null
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_sock(tb_aicp_ref_t aicp);
-
-/*! init http stream
- *
- * @param aicp the aicp, using the default aicp if be null
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_http(tb_aicp_ref_t aicp);
-
-/*! init filter stream
- *
- * @param aicp the aicp, using the default aicp if be null
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_filter(tb_aicp_ref_t aicp);
-
-/*! exit stream
- *
- * @param stream the stream
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_exit(tb_async_stream_ref_t stream);
-
-/*! init stream from url
- *
- * @param aicp the aicp, using the default aicp if be null
- * @param url the url
- * <pre>
- * data://base64
- * file://path or unix path: e.g. /root/xxxx/file
- * sock://host:port?tcp=
- * sock://host:port?udp=
- * socks://host:port
- * http://host:port/path?arg0=&arg1=...
- * https://host:port/path?arg0=&arg1=...
- * </pre>
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_from_url(tb_aicp_ref_t aicp, tb_char_t const* url);
-
-/*! init stream from data
- *
- * @param aicp the aicp, using the default aicp if be null
- * @param data the data
- * @param size the size
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_from_data(tb_aicp_ref_t aicp, tb_byte_t const* data, tb_size_t size);
-
-/*! init stream from file
- *
- * @param aicp the aicp, using the default aicp if be null
- * @param path the file path
- * @param mode the file mode, using the default ro mode if zero
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_from_file(tb_aicp_ref_t aicp, tb_char_t const* path, tb_size_t mode);
-
-/*! init stream from sock
- *
- * @param aicp the aicp, using the default aicp if be null
- * @param host the host
- * @param port the port
- * @param type the socket type, tcp or udp
- * @param bssl enable ssl?
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_from_sock(tb_aicp_ref_t aicp, tb_char_t const* host, tb_uint16_t port, tb_size_t type, tb_bool_t bssl);
-
-/*! init stream from http or https
- *
- * @param aicp the aicp, using the default aicp if be null
- * @param host the host
- * @param port the port
- * @param path the path
- * @param bssl enable ssl?
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_from_http(tb_aicp_ref_t aicp, tb_char_t const* host, tb_uint16_t port, tb_char_t const* path, tb_bool_t bssl);
-
-/*! init filter stream from null
- *
- * @param stream the stream
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_filter_from_null(tb_async_stream_ref_t stream);
-
-/*! init filter stream from zip
- *
- * @param stream the stream
- * @param algo the zip algorithm
- * @param action the zip action
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_filter_from_zip(tb_async_stream_ref_t stream, tb_size_t algo, tb_size_t action);
-
-/*! init filter stream from cache
- *
- * @param stream the stream
- * @param size the initial cache size, using the default size if be zero
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_filter_from_cache(tb_async_stream_ref_t stream, tb_size_t size);
-
-/*! init filter stream from charset
- *
- * @param stream the stream
- * @param fr the from charset
- * @param to the to charset
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_filter_from_charset(tb_async_stream_ref_t stream, tb_size_t fr, tb_size_t to);
-
-/*! init filter stream from chunked
- *
- * @param stream the stream
- * @param dechunked decode the chunked data?
- *
- * @return the stream
- */
-tb_async_stream_ref_t tb_async_stream_init_filter_from_chunked(tb_async_stream_ref_t stream, tb_bool_t dechunked);
-
-/*! the stream url
- *
- * @param stream the stream
- *
- * @return the stream url
- */
-tb_url_ref_t tb_async_stream_url(tb_async_stream_ref_t stream);
-
-/*! the stream type
- *
- * @param stream the stream
- *
- * @return the stream type
- */
-tb_size_t tb_async_stream_type(tb_async_stream_ref_t stream);
-
-/*! the stream size and not seeking it
- *
- * @param stream the stream
- *
- * @return the stream size, no size: -1, empty or error: 0
- */
-tb_hong_t tb_async_stream_size(tb_async_stream_ref_t stream);
-
-/*! the stream left size and not seeking it
- *
- * @param stream the stream
- *
- * @return the stream left size, no size: infinity, empty or end: 0
- */
-tb_hize_t tb_async_stream_left(tb_async_stream_ref_t stream);
-
-/*! the stream is end?
- *
- * @param stream the stream
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_beof(tb_async_stream_ref_t stream);
-
-/*! the stream offset
- *
- * the offset is read + writ and using seek for modifying it if size != -1, .e.g: data, file, ..
- * the offset is calculated from the last read/writ and not seeking it if size == -1, .e.g: sock, filter, ..
- *
- * @param stream the stream
- *
- * @return the stream offset
- */
-tb_hize_t tb_async_stream_offset(tb_async_stream_ref_t stream);
-
-/*! is opened?
- *
- * @param stream the stream
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_is_opened(tb_async_stream_ref_t stream);
-
-/*! is closed?
- *
- * @param stream the stream
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_is_closed(tb_async_stream_ref_t stream);
-
-/*! is killed?
- *
- * @param stream the stream
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_is_killed(tb_async_stream_ref_t stream);
-
-/*! the stream timeout
- *
- * @param stream the stream
- *
- * @return the stream timeout
- */
-tb_long_t tb_async_stream_timeout(tb_async_stream_ref_t stream);
-
-/*! ctrl stream
- *
- * @param stream the stream
- * @param ctrl the ctrl code
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_ctrl(tb_async_stream_ref_t stream, tb_size_t ctrl, ...);
-
-/*! ctrl stream with arguments
- *
- * @param stream the stream
- * @param ctrl the ctrl code
- * @param args the ctrl args
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_ctrl_with_args(tb_async_stream_ref_t stream, tb_size_t ctrl, tb_va_list_t args);
-
-/*! kill stream
- *
- * @param stream the stream
- */
-tb_void_t tb_async_stream_kill(tb_async_stream_ref_t stream);
-
-/*! try opening the stream for stream: file, filter, ...
- *
- * @param stream the stream
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_open_try(tb_async_stream_ref_t stream);
-
-/*! open the stream
- *
- * @param stream the stream
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_open_(tb_async_stream_ref_t stream, tb_async_stream_open_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! try closing the stream for stream: file, filter, or closed stream...
- *
- * @param stream the stream
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_clos_try(tb_async_stream_ref_t stream);
-
-/*! close the stream
- *
- * @param stream the stream
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_clos_(tb_async_stream_ref_t stream, tb_async_stream_clos_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! read the stream
- *
- * @param stream the stream
- * @param size the read size, using the default size if be zero
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_read_(tb_async_stream_ref_t stream, tb_size_t size, tb_async_stream_read_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! writ the stream
- *
- * @param stream the stream
- * @param data the data
- * @param size the size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_writ_(tb_async_stream_ref_t stream, tb_byte_t const* data, tb_size_t size, tb_async_stream_writ_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! seek the stream
- *
- * @param stream the stream
- * @param offset the offset
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_seek_(tb_async_stream_ref_t stream, tb_hize_t offset, tb_async_stream_seek_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! sync the stream
- *
- * @param stream the stream
- * @param bclosing sync the tail data for closing
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_sync_(tb_async_stream_ref_t stream, tb_bool_t bclosing, tb_async_stream_sync_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! task the stream
- *
- * @param stream the stream
- * @param delay the delay time, ms
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_task_(tb_async_stream_ref_t stream, tb_size_t delay, tb_async_stream_task_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! open and read the stream, open it first if not opened
- *
- * @param stream the stream
- * @param size the read size, using the default size if be zero
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_read_(tb_async_stream_ref_t stream, tb_size_t size, tb_async_stream_read_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! open and read the stream, open it first if not opened
- *
- * @param stream the stream
- * @param size the size, using the default size be zero
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_open_read_(tb_async_stream_ref_t stream, tb_size_t size, tb_async_stream_read_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! open and writ the stream, open it first if not opened
- *
- * @param stream the stream
- * @param data the data
- * @param size the size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_open_writ_(tb_async_stream_ref_t stream, tb_byte_t const* data, tb_size_t size, tb_async_stream_writ_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! open and seek the stream, open it first if not opened
- *
- * @param stream the stream
- * @param offset the offset
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_open_seek_(tb_async_stream_ref_t stream, tb_hize_t offset, tb_async_stream_seek_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! read the stream after the delay time
- *
- * @param stream the stream
- * @param delay the delay time, ms
- * @param size the read size, using the default size if be zero
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_read_after_(tb_async_stream_ref_t stream, tb_size_t delay, tb_size_t size, tb_async_stream_read_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! writ the stream after the delay time
- *
- * @param stream the stream
- * @param delay the delay time, ms
- * @param data the data
- * @param size the size
- * @param func the func
- * @param priv the func data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_stream_writ_after_(tb_async_stream_ref_t stream, tb_size_t delay, tb_byte_t const* data, tb_size_t size, tb_async_stream_writ_func_t func, tb_cpointer_t priv __tb_debug_decl__);
-
-/*! the stream aicp
- *
- * @param stream the stream
- *
- * @return the stream aicp
- */
-tb_aicp_ref_t tb_async_stream_aicp(tb_async_stream_ref_t stream);
-
-#ifdef __tb_debug__
-/*! the stream func name from post for debug
- *
- * @param stream the stream
- *
- * @return the stream func name
- */
-tb_char_t const* tb_async_stream_func(tb_async_stream_ref_t stream);
-
-/*! the stream file name from post for debug
- *
- * @param stream the stream
- *
- * @return the stream file name
- */
-tb_char_t const* tb_async_stream_file(tb_async_stream_ref_t stream);
-
-/*! the stream line number from post for debug
- *
- * @param stream the stream
- *
- * @return the stream line number
- */
-tb_size_t tb_async_stream_line(tb_async_stream_ref_t stream);
-#endif
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/stream/async_transfer.h b/core/pkg/tbox.pkg/inc/tbox/stream/async_transfer.h
deleted file mode 100755
index 525820a59..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/stream/async_transfer.h
+++ /dev/null
@@ -1,321 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file async_transfer.h
- * @ingroup stream
- *
- */
-#ifndef TB_STREAM_ASYNC_TRANSFER_H
-#define TB_STREAM_ASYNC_TRANSFER_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-#include "async_stream.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/*! the async transfer open func type
- *
- * @param state the stream state
- * @param offset the istream offset
- * @param size the istream size, no size: -1
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: break it
- */
-typedef tb_bool_t (*tb_async_transfer_open_func_t)(tb_size_t state, tb_hize_t offset, tb_hong_t size, tb_cpointer_t priv);
-
-/*! the async transfer clos func type
- *
- * @param state the stream state
- * @param priv the func private data
- */
-typedef tb_void_t (*tb_async_transfer_clos_func_t)(tb_size_t state, tb_cpointer_t priv);
-
-/*! the async transfer ctrl func type
- *
- * @param istream the istream
- * @param ostream the ostream
- * @param priv the func private data
- *
- * @return tb_true: ok, tb_false: break it
- */
-typedef tb_bool_t (*tb_async_transfer_ctrl_func_t)(tb_async_stream_ref_t istream, tb_async_stream_ref_t ostream, tb_cpointer_t priv);
-
-/*! the async transfer done func type
- *
- * @param state the stream state
- * @param offset the istream offset
- * @param size the istream size, no size: -1
- * @param save the saved size
- * @param rate the current rate, bytes/s
- * @param priv the func private data
- *
- * @return tb_true: ok and continue it if need, tb_false: break it
- */
-typedef tb_bool_t (*tb_async_transfer_done_func_t)(tb_size_t state, tb_hize_t offset, tb_hong_t size, tb_hize_t save, tb_size_t rate, tb_cpointer_t priv);
-
-/// the async transfer ref type
-typedef struct{}* tb_async_transfer_ref_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init async transfer
- *
- * @param aicp the aicp, using the default aicp if be null
- * @param autoclosing auto closing it after finishing transfer
- *
- * @return the async transfer
- */
-tb_async_transfer_ref_t tb_async_transfer_init(tb_aicp_ref_t aicp, tb_bool_t autoclosing);
-
-/*! init istream
- *
- * @param transfer the async transfer
- * @param stream the stream
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_init_istream(tb_async_transfer_ref_t transfer, tb_async_stream_ref_t stream);
-
-/*! init istream from url
- *
- * @param transfer the async transfer
- * @param url the url
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_init_istream_from_url(tb_async_transfer_ref_t transfer, tb_char_t const* url);
-
-/*! init istream from data
- *
- * @param transfer the async transfer
- * @param data the data
- * @param size the size
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_init_istream_from_data(tb_async_transfer_ref_t transfer, tb_byte_t const* data, tb_size_t size);
-
-/*! init ostream
- *
- * @param transfer the async transfer
- * @param stream the stream
- *
- * @return the async transfer
- */
-tb_bool_t tb_async_transfer_init_ostream(tb_async_transfer_ref_t transfer, tb_async_stream_ref_t stream);
-
-/*! init ostream from url
- *
- * @param transfer the async transfer
- * @param url the url
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_init_ostream_from_url(tb_async_transfer_ref_t transfer, tb_char_t const* url);
-
-/*! init ostream from data
- *
- * @param transfer the async transfer
- * @param data the data
- * @param size the size
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_init_ostream_from_data(tb_async_transfer_ref_t transfer, tb_byte_t* data, tb_size_t size);
-
-/*! ctrl istream
- *
- * @note must call it before opening
- *
- * @param transfer the async transfer
- * @param ctrl the ctrl code, using the stream ctrl code
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_ctrl_istream(tb_async_transfer_ref_t transfer, tb_size_t ctrl, ...);
-
-/*! ctrl ostream
- *
- * @note must call it before opening
- *
- * @param transfer the async transfer
- * @param ctrl the ctrl code, using the stream ctrl code
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_ctrl_ostream(tb_async_transfer_ref_t transfer, tb_size_t ctrl, ...);
-
-/*! ctrl transfer
- *
- * @param transfer the async transfer
- * @param offset the start offset
- * @param func the ctrl func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_ctrl(tb_async_transfer_ref_t transfer, tb_async_transfer_ctrl_func_t func, tb_cpointer_t priv);
-
-/*! open transfer
- *
- * @param transfer the async transfer
- * @param offset the start offset
- * @param func the open func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_open(tb_async_transfer_ref_t transfer, tb_hize_t offset, tb_async_transfer_open_func_t func, tb_cpointer_t priv);
-
-/*! clos transfer
- *
- * @param transfer the async transfer
- * @param func the clos func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_clos(tb_async_transfer_ref_t transfer, tb_async_transfer_clos_func_t func, tb_cpointer_t priv);
-
-/*! try closing transfer
- *
- * @param transfer the async transfer
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_clos_try(tb_async_transfer_ref_t transfer);
-
-/*! done transfer and will close it automaticly
- *
- * @param transfer the async transfer
- * @param func the save func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_done(tb_async_transfer_ref_t transfer, tb_async_transfer_done_func_t func, tb_cpointer_t priv);
-
-/*! open and done transfer and will close it automaticly
- *
- * @code
- *
- static tb_bool_t tb_demo_transfer_done_func(tb_size_t state, tb_hize_t offset, tb_hong_t size, tb_hize_t save, tb_size_t rate, tb_cpointer_t priv)
- {
- // percent
- tb_size_t percent = 0;
- if (size > 0) percent = (offset * 100) / size;
- else if (state == TB_STATE_OK) percent = 100;
-
- // trace
- tb_trace_i("done: %llu bytes, rate: %lu bytes/s, percent: %lu%%, state: %s", save, rate, percent, tb_state_cstr(state));
-
- // ok
- return tb_true;
- }
-
- // init transfer
- tb_async_transfer_ref_t transfer = tb_async_transfer_init(tb_null);
- if (transfer)
- {
- // init stream
- tb_async_transfer_init_istream_from_url(transfer, url);
- tb_async_transfer_init_ostream_from_data(transfer, data, size);
-
- // ctrl stream
-// tb_async_transfer_ctrl_istream(transfer, TB_STREAM_CTRL_SET_TIMEOUT, 10000);
-
- // limit rate
-// tb_async_transfer_limitrate(transfer, 256000);
-
- // open and done transfer
- tb_async_transfer_open_done(transfer, 0, tb_demo_transfer_done_func, tb_null);
-
- // exit transfer
- tb_async_transfer_exit(transfer);
- }
- *
- * @endcode
- *
- * @param transfer the async transfer
- * @param offset the start offset
- * @param func the save func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_open_done(tb_async_transfer_ref_t transfer, tb_hize_t offset, tb_async_transfer_done_func_t func, tb_cpointer_t priv);
-
-/*! kill transfer
- *
- * @param transfer the async transfer
- */
-tb_void_t tb_async_transfer_kill(tb_async_transfer_ref_t transfer);
-
-/*! exit transfer
- *
- * @note will wait transfer closed and cannot be called in the callback func
- *
- * @param transfer the async transfer
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_exit(tb_async_transfer_ref_t transfer);
-
-/*! pause transfer
- *
- * the save func state will return TB_STATE_PAUSED
- *
- * @param transfer the async transfer
- */
-tb_void_t tb_async_transfer_pause(tb_async_transfer_ref_t transfer);
-
-/*! resume transfer
- *
- * @param transfer the async transfer
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_async_transfer_resume(tb_async_transfer_ref_t transfer);
-
-/*! limit transfer rate
- *
- * @param transfer the async transfer
- * @param rate the trasfer rate and no limit if 0, bytes/s
- */
-tb_void_t tb_async_transfer_limitrate(tb_async_transfer_ref_t transfer, tb_size_t rate);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/stream/transfer_pool.h b/core/pkg/tbox.pkg/inc/tbox/stream/transfer_pool.h
deleted file mode 100755
index a251b099c..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/stream/transfer_pool.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file transfer_pool.h
- * @ingroup stream
- *
- */
-#ifndef TB_STREAM_TRANSFER_POOL_H
-#define TB_STREAM_TRANSFER_POOL_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-#include "transfer.h"
-#include "../asio/asio.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the transfer pool ref type
-typedef struct{}* tb_transfer_pool_ref_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! the transfer pool instance
- *
- * @return the transfer pool instance
- */
-tb_transfer_pool_ref_t tb_transfer_pool(tb_noarg_t);
-
-/*! init transfer pool
- *
- * @param aicp the aicp, using the default aicp if be null
- *
- * @return the transfer pool
- */
-tb_transfer_pool_ref_t tb_transfer_pool_init(tb_aicp_ref_t aicp);
-
-/*! exit transfer pool
- *
- * @param pool the transfer pool
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_transfer_pool_exit(tb_transfer_pool_ref_t pool);
-
-/*! kill transfer pool
- *
- * @param pool the transfer pool
- */
-tb_void_t tb_transfer_pool_kill(tb_transfer_pool_ref_t pool);
-
-/*! kill all working tasks
- *
- * @param pool the transfer pool handle
- */
-tb_void_t tb_transfer_pool_kill_all(tb_transfer_pool_ref_t pool);
-
-/*! wait all working tasks
- *
- * @param pool the transfer pool handle
- * @param timeout the timeout
- *
- * @return ok: 1, timeout: 0, error: -1
- */
-tb_long_t tb_transfer_pool_wait_all(tb_transfer_pool_ref_t pool, tb_long_t timeout);
-
-/*! the transfer pool size
- *
- * @param pool the transfer pool
- */
-tb_size_t tb_transfer_pool_size(tb_transfer_pool_ref_t pool);
-
-/*! the transfer pool maxn
- *
- * @param pool the transfer pool
- */
-tb_size_t tb_transfer_pool_maxn(tb_transfer_pool_ref_t pool);
-
-/*! done transfer from iurl to ourl
- *
- * @param pool the transfer pool
- * @param iurl the input url
- * @param ourl the output url
- * @param offset the offset
- * @param rate the limited rate, not limit if be zero
- * @param done the done func
- * @param ctrl the ctrl func
- * @param priv the func private data
- *
- * @return tb_true or tb_false
- */
-tb_bool_t tb_transfer_pool_done(tb_transfer_pool_ref_t pool, tb_char_t const* iurl, tb_char_t const* ourl, tb_hize_t offset, tb_size_t rate, tb_async_transfer_done_func_t done, tb_async_transfer_ctrl_func_t ctrl, tb_cpointer_t priv);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
diff --git a/core/pkg/tbox.pkg/inc/tbox/utils/adler32.h b/core/pkg/tbox.pkg/inc/tbox/utils/adler32.h
deleted file mode 100755
index dc0240a55..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/utils/adler32.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file adler32.h
- * @ingroup utils
- *
- */
-#ifndef TB_UTILS_ADLER32_H
-#define TB_UTILS_ADLER32_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! encode adler32
- *
- * @param adler the initial adler value
- * @param data the data
- * @param size the size
- *
- * @return the adler32 value
- */
-tb_uint32_t tb_adler32_encode(tb_uint32_t adler, tb_byte_t const* data, tb_size_t size);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/utils/crc.h b/core/pkg/tbox.pkg/inc/tbox/utils/crc.h
deleted file mode 100755
index 047ca5142..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/utils/crc.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file crc.h
- * @ingroup utils
- *
- */
-#ifndef TB_UTILS_CRC_H
-#define TB_UTILS_CRC_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-
-// encode value
-#define tb_crc_encode_value(mode, crc, value) tb_crc_encode(mode, crc, (tb_byte_t const*)&(value), sizeof(value))
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-/// the crc mode type
-typedef enum __tb_crc_mode_t
-{
-#ifdef __tb_small__
- TB_CRC_MODE_16_CCITT = 0
-, TB_CRC_MODE_32_IEEE_LE = 1
-, TB_CRC_MODE_MAX = 2
-#else
- TB_CRC_MODE_8_ATM = 0
-, TB_CRC_MODE_16_ANSI = 1
-, TB_CRC_MODE_16_CCITT = 2
-, TB_CRC_MODE_32_IEEE = 3
-, TB_CRC_MODE_32_IEEE_LE = 4
-, TB_CRC_MODE_MAX = 5
-#endif
-
-}tb_crc_mode_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! encode crc
- *
- * @param mode the crc mode
- * @param crc the initial crc value
- * @param data the input data
- * @param size the input size
- *
- * @return the crc value
- */
-tb_uint32_t tb_crc_encode(tb_crc_mode_t mode, tb_uint32_t crc, tb_byte_t const* data, tb_size_t size);
-
-/*! encode crc for cstr
- *
- * @param mode the crc mode
- * @param crc the initial crc value
- * @param cstr the input cstr
- *
- * @return the crc value
- */
-tb_uint32_t tb_crc_encode_cstr(tb_crc_mode_t mode, tb_uint32_t crc, tb_char_t const* cstr);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/utils/impl/crc_arm.h b/core/pkg/tbox.pkg/inc/tbox/utils/impl/crc_arm.h
deleted file mode 100755
index e3164bd20..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/utils/impl/crc_arm.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file crc_arm.h
- *
- */
-#ifndef TB_UTILS_IMPL_CRC_ARM_H
-#define TB_UTILS_IMPL_CRC_ARM_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * macros
- */
-#ifndef TB_ARCH_ARM64
-# define tb_crc32_encode(crc, ib, in, table) tb_crc32_encode_asm(crc, ib, in, table)
-#endif
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-tb_uint32_t tb_crc32_encode_asm(tb_uint32_t crc, tb_byte_t const* ib, tb_size_t in, tb_uint32_t const* table);
-
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/utils/md5.h b/core/pkg/tbox.pkg/inc/tbox/utils/md5.h
deleted file mode 100755
index 3503712cf..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/utils/md5.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed ip the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file md5.h
- * @ingroup utils
- *
- */
-#ifndef TB_UTILS_MD5_H
-#define TB_UTILS_MD5_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-// data structure for md5 (message data) computation
-typedef struct __tb_md5_t
-{
- tb_uint32_t i[2]; //!< number of _bits_ handled mod 2^64
- tb_uint32_t sp[4]; //!< scratch buffer
- tb_byte_t ip[64]; //!< input buffer
- tb_byte_t data[16]; //!< actual data after tb_md5_exit call
-
-}tb_md5_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init md5
- *
- * @param md5 the md5
- * @param pseudo_rand the pseudo rand
- */
-tb_void_t tb_md5_init(tb_md5_t* md5, tb_uint32_t pseudo_rand);
-
-/*! exit md5
- *
- * @param md5 the md5
- * @param data the data
- * @param size the size
- */
-tb_void_t tb_md5_exit(tb_md5_t* md5, tb_byte_t* data, tb_size_t size);
-
-/*! spak md5
- *
- * @param md5 the md5
- * @param data the data
- * @param size the size
- */
-tb_void_t tb_md5_spak(tb_md5_t* md5, tb_byte_t const* data, tb_size_t size);
-
-/*! encode md5
- *
- * @param ib the input data
- * @param in the input size
- * @param ob the output data
- * @param on the output size
- *
- * @return the real size
- */
-tb_size_t tb_md5_encode(tb_byte_t const* ib, tb_size_t in, tb_byte_t* ob, tb_size_t on);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/tbox/utils/sha.h b/core/pkg/tbox.pkg/inc/tbox/utils/sha.h
deleted file mode 100755
index 845dd5c64..000000000
--- a/core/pkg/tbox.pkg/inc/tbox/utils/sha.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*!The Treasure Box Library
- *
- * TBox is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * TBox is distributed ip the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with TBox;
- * If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
- *
- * Copyright (C) 2009 - 2015, ruki All rights reserved.
- *
- * @author ruki
- * @file sha.h
- * @ingroup utils
- *
- */
-#ifndef TB_UTILS_SHA_H
-#define TB_UTILS_SHA_H
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * includes
- */
-#include "prefix.h"
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_enter__
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * types
- */
-
-// data structure for sha (message data) computation
-typedef struct __tb_sha_t
-{
- tb_uint8_t digest_len; //!< digest length in 32-bit words
- tb_hize_t count; //!< number of bytes in buffer
- tb_uint8_t buffer[64]; //!< 512-bit buffer of input values used in hash updating
- tb_uint32_t state[8]; //!< current hash value
- tb_void_t (*transform)(tb_uint32_t *state, tb_uint8_t const buffer[64]);
-
-}tb_sha_t;
-
-// the sha mode type
-typedef enum __tb_sha_mode_t
-{
- TB_SHA_MODE_SHA1_160 = 160
-, TB_SHA_MODE_SHA2_224 = 224
-, TB_SHA_MODE_SHA2_256 = 256
-
-}tb_sha_mode_t;
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * interfaces
- */
-
-/*! init sha
- *
- * @param sha the sha
- * @param mode the mode
- */
-tb_void_t tb_sha_init(tb_sha_t* sha, tb_size_t mode);
-
-/*! exit sha
- *
- * @param sha the sha
- * @param data the data
- * @param size the size
- */
-tb_void_t tb_sha_exit(tb_sha_t* sha, tb_byte_t* data, tb_size_t size);
-
-/*! spak sha
- *
- * @param sha the sha
- * @param data the data
- * @param size the size
- */
-tb_void_t tb_sha_spak(tb_sha_t* sha, tb_byte_t const* data, tb_size_t size);
-
-/*! encode sha
- *
- * @param ib the input data
- * @param in the input size
- * @param ob the output data
- * @param on the output size
- *
- * @return the real size
- */
-tb_size_t tb_sha_encode(tb_size_t mode, tb_byte_t const* ib, tb_size_t ip, tb_byte_t* ob, tb_size_t on);
-
-/* //////////////////////////////////////////////////////////////////////////////////////
- * extern
- */
-__tb_extern_c_leave__
-
-#endif
-
diff --git a/core/pkg/tbox.pkg/inc/windows/x86/tbox.config.h b/core/pkg/tbox.pkg/inc/windows/x86/tbox.config.h
deleted file mode 100644
index 3621ae4e2..000000000
--- a/core/pkg/tbox.pkg/inc/windows/x86/tbox.config.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef TB_CONFIG_H
-#define TB_CONFIG_H
-
-// version
-#define TB_CONFIG_VERSION "1.5.3"
-#define TB_CONFIG_VERSION_MAJOR 1
-#define TB_CONFIG_VERSION_MINOR 5
-#define TB_CONFIG_VERSION_ALTER 3
-#define TB_CONFIG_VERSION_BUILD 201608031342
-
-// defines
-#define TB_CONFIG_OS_WINDOWS 1
-#define _GNU_SOURCE 1
-#define _REENTRANT 1
-#define TB_CONFIG_SMALL 1
-#define TB_CONFIG_TYPE_HAVE_FLOAT 1
-#define TB_CONFIG_LIBC_HAVE_MEMMOVE 1
-#define TB_CONFIG_LIBC_HAVE_MKTIME 1
-#define TB_CONFIG_LIBM_HAVE_ACOS 1
-#define TB_CONFIG_LIBC_HAVE_SETLOCALE 1
-#define TB_CONFIG_LIBC_HAVE_WCSCPY 1
-#define TB_CONFIG_LIBM_HAVE_SQRT 1
-#define TB_CONFIG_LIBC_HAVE_STRCMP 1
-#define TB_CONFIG_LIBM_HAVE_ATAN2 1
-#define TB_CONFIG_LIBC_HAVE_MEMSET 1
-#define TB_CONFIG_LIBC_HAVE_WCSLEN 1
-#define TB_CONFIG_LIBC_HAVE_STRNCPY 1
-#define TB_CONFIG_LIBC_HAVE_LOCALTIME 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCAT 1
-#define TB_CONFIG_LIBC_HAVE_STRCPY 1
-#define TB_CONFIG_LIBC_HAVE_SIGNAL 1
-#define TB_CONFIG_LIBC_HAVE_STRSTR 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCMP 1
-#define TB_CONFIG_LIBC_HAVE_MBSTOWCS 1
-#define TB_CONFIG_LIBC_HAVE_WCSSTR 1
-#define TB_CONFIG_LIBC_HAVE_WCSCAT 1
-#define TB_CONFIG_LIBM_HAVE_POW 1
-#define TB_CONFIG_LIBC_HAVE_MEMCPY 1
-#define TB_CONFIG_MODULE_HAVE_HASH 1
-#define TB_CONFIG_LIBC_HAVE_WCSTOMBS 1
-#define TB_CONFIG_LIBC_HAVE_WCSNLEN 1
-#define TB_CONFIG_LIBC_HAVE_MEMCMP 1
-#define TB_CONFIG_LIBM_HAVE_EXP 1
-#define TB_CONFIG_LIBC_HAVE_STRNLEN 1
-#define TB_CONFIG_LIBM_HAVE_SIN 1
-#define TB_CONFIG_LIBM_HAVE_COS 1
-#define TB_CONFIG_LIBM_HAVE_ATAN 1
-#define TB_CONFIG_LIBM_HAVE_ASIN 1
-#define TB_CONFIG_LIBC_HAVE_SETJMP 1
-#define TB_CONFIG_LIBC_HAVE_STRNCAT 1
-#define TB_CONFIG_LIBC_HAVE_WCSNCPY 1
-#define TB_CONFIG_LIBM_HAVE_FMOD 1
-#define TB_CONFIG_LIBC_HAVE_GMTIME 1
-#define TB_CONFIG_LIBC_HAVE_FPUTS 1
-#define TB_CONFIG_LIBM_HAVE_TAN 1
-#define TB_CONFIG_LIBC_HAVE_STRCAT 1
-#define TB_CONFIG_LIBC_HAVE_STRLEN 1
-#define TB_CONFIG_MODULE_HAVE_NETWORK 1
-#define TB_CONFIG_MODULE_HAVE_THREAD 1
-#define TB_CONFIG_LIBC_HAVE_WCSCMP 1
-#define TB_CONFIG_LIBC_HAVE_STRNCMP 1
-
-// undefines
-#undef TB_CONFIG_TRACE_INFO_ONLY
-#undef TB_CONFIG_EXCEPTION_ENABLE
-#undef TB_CONFIG_MEMORY_UNALIGNED_ACCESS_ENABLE
-
-#endif
diff --git a/core/pkg/tbox.pkg/lib/linux/i386/libtbox.a b/core/pkg/tbox.pkg/lib/linux/i386/libtbox.a
deleted file mode 100755
index 0f1a119f2..000000000
--- a/core/pkg/tbox.pkg/lib/linux/i386/libtbox.a
+++ /dev/null
Binary files differ
diff --git a/core/pkg/tbox.pkg/lib/linux/x86_64/libtbox.a b/core/pkg/tbox.pkg/lib/linux/x86_64/libtbox.a
deleted file mode 100755
index 94a5c2097..000000000
--- a/core/pkg/tbox.pkg/lib/linux/x86_64/libtbox.a
+++ /dev/null
Binary files differ
diff --git a/core/pkg/tbox.pkg/lib/macosx/x86_64/libtbox.a b/core/pkg/tbox.pkg/lib/macosx/x86_64/libtbox.a
deleted file mode 100755
index 107afe4ee..000000000
--- a/core/pkg/tbox.pkg/lib/macosx/x86_64/libtbox.a
+++ /dev/null
Binary files differ
diff --git a/core/pkg/tbox.pkg/lib/release/linux/x86_64/libtbox.a b/core/pkg/tbox.pkg/lib/release/linux/x86_64/libtbox.a
new file mode 100755
index 000000000..784fb88b0
--- /dev/null
+++ b/core/pkg/tbox.pkg/lib/release/linux/x86_64/libtbox.a
Binary files differ
diff --git a/core/pkg/tbox.pkg/lib/windows/x86/tbox.lib b/core/pkg/tbox.pkg/lib/windows/x86/tbox.lib
deleted file mode 100644
index c27b4af7d..000000000
--- a/core/pkg/tbox.pkg/lib/windows/x86/tbox.lib
+++ /dev/null
Binary files differ