mirror of
https://gitee.com/openharmony/interface_sdk_c
synced 2025-02-17 07:21:10 +00:00
Merge branch 'master' of gitee.com:hdt-mandy/interface_sdk_c
Signed-off-by: huangdongting <ohos@DESKTOP-VK2KLJ2.localdomain> Signed-off-by: huangdongting <huangdongting3@huawei.com>
This commit is contained in:
commit
4886f502dc
51
OAT.xml
Normal file
51
OAT.xml
Normal file
@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (c) 2021 Huawei Device Co., Ltd.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
This is the configuration file template for OpenHarmony OSS Audit Tool, please copy it to your project root dir and modify it refer to OpenHarmony/tools_oat/README.
|
||||
|
||||
-->
|
||||
|
||||
<configuration>
|
||||
<oatconfig>
|
||||
<licensefile></licensefile>
|
||||
<policylist>
|
||||
<policy name="projectPolicy" desc="">
|
||||
<!--policyitem type="compatibility" name="GPL-2.0+" path="abc/.*" desc="Process that runs independently, invoked by the X process."/-->
|
||||
<!--policyitem type="license" name="LGPL" path="abc/.*" desc="Dynamically linked by module X"/-->
|
||||
<!--policyitem type="copyright" name="xxx" path="abc/.*" rule="may" group="defaultGroup" filefilter="copyrightPolicyFilter" desc="Developed by X Company"/-->
|
||||
<policyitem type="license" name="*" path=".*" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter" desc="兼容license"/>
|
||||
<policyitem type="copyright" name="*" path=".*" rule="may" group="defaultGroup" filefilter="copyrightPolicyFilter" desc=""/>
|
||||
</policy>
|
||||
</policylist>
|
||||
<filefilterlist>
|
||||
<filefilter name="defaultPolicyFilter" desc="Filters for compatibility,license header policies">
|
||||
<filteritem type="filepath" name="*"
|
||||
desc="License matcher rules, not license header, null"/>
|
||||
</filefilter>
|
||||
<filefilter name="copyrightPolicyFilter" desc="Filters for copyright header policies">
|
||||
</filefilter>
|
||||
</filefilterlist>
|
||||
<licensematcherlist>
|
||||
<!--licensematcher name="uvwxyz License" desc="If the scanning result is InvalidLicense, you can define matching rules here. Note that quotation marks must be escaped.">
|
||||
<licensetext name="
|
||||
uvwxyz license textA xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
" desc=""/>
|
||||
<licensetext name="
|
||||
uvwxyz license textB xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
" desc=""/>
|
||||
</licensematcher-->
|
||||
</licensematcherlist>
|
||||
</oatconfig>
|
||||
</configuration>
|
66
third_party/libuv/LICENSE
vendored
Normal file
66
third_party/libuv/LICENSE
vendored
Normal file
@ -0,0 +1,66 @@
|
||||
libuv is licensed for use as follows:
|
||||
|
||||
====
|
||||
Copyright (c) 2015-present libuv project contributors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
====
|
||||
|
||||
This license applies to parts of libuv originating from the
|
||||
https://github.com/joyent/libuv repository:
|
||||
|
||||
====
|
||||
|
||||
Copyright Joyent, Inc. and other Node contributors. All rights reserved.
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
|
||||
====
|
||||
|
||||
This license applies to all parts of libuv that are not externally
|
||||
maintained libraries.
|
||||
|
||||
The externally maintained libraries used by libuv are:
|
||||
|
||||
- tree.h (from FreeBSD), copyright Niels Provos. Two clause BSD license.
|
||||
|
||||
- inet_pton and inet_ntop implementations, contained in src/inet.c, are
|
||||
copyright the Internet Systems Consortium, Inc., and licensed under the ISC
|
||||
license.
|
||||
|
||||
- stdint-msvc2008.h (from msinttypes), copyright Alexander Chemeris. Three
|
||||
clause BSD license.
|
||||
|
||||
- pthread-fixes.c, copyright Google Inc. and Sony Mobile Communications AB.
|
||||
Three clause BSD license.
|
396
third_party/libuv/LICENSE-docs
vendored
Normal file
396
third_party/libuv/LICENSE-docs
vendored
Normal file
@ -0,0 +1,396 @@
|
||||
Attribution 4.0 International
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||
does not provide legal services or legal advice. Distribution of
|
||||
Creative Commons public licenses does not create a lawyer-client or
|
||||
other relationship. Creative Commons makes its licenses and related
|
||||
information available on an "as-is" basis. Creative Commons gives no
|
||||
warranties regarding its licenses, any material licensed under their
|
||||
terms and conditions, or any related information. Creative Commons
|
||||
disclaims all liability for damages resulting from their use to the
|
||||
fullest extent possible.
|
||||
|
||||
Using Creative Commons Public Licenses
|
||||
|
||||
Creative Commons public licenses provide a standard set of terms and
|
||||
conditions that creators and other rights holders may use to share
|
||||
original works of authorship and other material subject to copyright
|
||||
and certain other rights specified in the public license below. The
|
||||
following considerations are for informational purposes only, are not
|
||||
exhaustive, and do not form part of our licenses.
|
||||
|
||||
Considerations for licensors: Our public licenses are
|
||||
intended for use by those authorized to give the public
|
||||
permission to use material in ways otherwise restricted by
|
||||
copyright and certain other rights. Our licenses are
|
||||
irrevocable. Licensors should read and understand the terms
|
||||
and conditions of the license they choose before applying it.
|
||||
Licensors should also secure all rights necessary before
|
||||
applying our licenses so that the public can reuse the
|
||||
material as expected. Licensors should clearly mark any
|
||||
material not subject to the license. This includes other CC-
|
||||
licensed material, or material used under an exception or
|
||||
limitation to copyright. More considerations for licensors:
|
||||
wiki.creativecommons.org/Considerations_for_licensors
|
||||
|
||||
Considerations for the public: By using one of our public
|
||||
licenses, a licensor grants the public permission to use the
|
||||
licensed material under specified terms and conditions. If
|
||||
the licensor's permission is not necessary for any reason--for
|
||||
example, because of any applicable exception or limitation to
|
||||
copyright--then that use is not regulated by the license. Our
|
||||
licenses grant only permissions under copyright and certain
|
||||
other rights that a licensor has authority to grant. Use of
|
||||
the licensed material may still be restricted for other
|
||||
reasons, including because others have copyright or other
|
||||
rights in the material. A licensor may make special requests,
|
||||
such as asking that all changes be marked or described.
|
||||
Although not required by our licenses, you are encouraged to
|
||||
respect those requests where reasonable. More_considerations
|
||||
for the public:
|
||||
wiki.creativecommons.org/Considerations_for_licensees
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Attribution 4.0 International Public License
|
||||
|
||||
By exercising the Licensed Rights (defined below), You accept and agree
|
||||
to be bound by the terms and conditions of this Creative Commons
|
||||
Attribution 4.0 International Public License ("Public License"). To the
|
||||
extent this Public License may be interpreted as a contract, You are
|
||||
granted the Licensed Rights in consideration of Your acceptance of
|
||||
these terms and conditions, and the Licensor grants You such rights in
|
||||
consideration of benefits the Licensor receives from making the
|
||||
Licensed Material available under these terms and conditions.
|
||||
|
||||
|
||||
Section 1 -- Definitions.
|
||||
|
||||
a. Adapted Material means material subject to Copyright and Similar
|
||||
Rights that is derived from or based upon the Licensed Material
|
||||
and in which the Licensed Material is translated, altered,
|
||||
arranged, transformed, or otherwise modified in a manner requiring
|
||||
permission under the Copyright and Similar Rights held by the
|
||||
Licensor. For purposes of this Public License, where the Licensed
|
||||
Material is a musical work, performance, or sound recording,
|
||||
Adapted Material is always produced where the Licensed Material is
|
||||
synched in timed relation with a moving image.
|
||||
|
||||
b. Adapter's License means the license You apply to Your Copyright
|
||||
and Similar Rights in Your contributions to Adapted Material in
|
||||
accordance with the terms and conditions of this Public License.
|
||||
|
||||
c. Copyright and Similar Rights means copyright and/or similar rights
|
||||
closely related to copyright including, without limitation,
|
||||
performance, broadcast, sound recording, and Sui Generis Database
|
||||
Rights, without regard to how the rights are labeled or
|
||||
categorized. For purposes of this Public License, the rights
|
||||
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||
Rights.
|
||||
|
||||
d. Effective Technological Measures means those measures that, in the
|
||||
absence of proper authority, may not be circumvented under laws
|
||||
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||
Treaty adopted on December 20, 1996, and/or similar international
|
||||
agreements.
|
||||
|
||||
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||
any other exception or limitation to Copyright and Similar Rights
|
||||
that applies to Your use of the Licensed Material.
|
||||
|
||||
f. Licensed Material means the artistic or literary work, database,
|
||||
or other material to which the Licensor applied this Public
|
||||
License.
|
||||
|
||||
g. Licensed Rights means the rights granted to You subject to the
|
||||
terms and conditions of this Public License, which are limited to
|
||||
all Copyright and Similar Rights that apply to Your use of the
|
||||
Licensed Material and that the Licensor has authority to license.
|
||||
|
||||
h. Licensor means the individual(s) or entity(ies) granting rights
|
||||
under this Public License.
|
||||
|
||||
i. Share means to provide material to the public by any means or
|
||||
process that requires permission under the Licensed Rights, such
|
||||
as reproduction, public display, public performance, distribution,
|
||||
dissemination, communication, or importation, and to make material
|
||||
available to the public including in ways that members of the
|
||||
public may access the material from a place and at a time
|
||||
individually chosen by them.
|
||||
|
||||
j. Sui Generis Database Rights means rights other than copyright
|
||||
resulting from Directive 96/9/EC of the European Parliament and of
|
||||
the Council of 11 March 1996 on the legal protection of databases,
|
||||
as amended and/or succeeded, as well as other essentially
|
||||
equivalent rights anywhere in the world.
|
||||
|
||||
k. You means the individual or entity exercising the Licensed Rights
|
||||
under this Public License. Your has a corresponding meaning.
|
||||
|
||||
|
||||
Section 2 -- Scope.
|
||||
|
||||
a. License grant.
|
||||
|
||||
1. Subject to the terms and conditions of this Public License,
|
||||
the Licensor hereby grants You a worldwide, royalty-free,
|
||||
non-sublicensable, non-exclusive, irrevocable license to
|
||||
exercise the Licensed Rights in the Licensed Material to:
|
||||
|
||||
a. reproduce and Share the Licensed Material, in whole or
|
||||
in part; and
|
||||
|
||||
b. produce, reproduce, and Share Adapted Material.
|
||||
|
||||
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||
Exceptions and Limitations apply to Your use, this Public
|
||||
License does not apply, and You do not need to comply with
|
||||
its terms and conditions.
|
||||
|
||||
3. Term. The term of this Public License is specified in Section
|
||||
6(a).
|
||||
|
||||
4. Media and formats; technical modifications allowed. The
|
||||
Licensor authorizes You to exercise the Licensed Rights in
|
||||
all media and formats whether now known or hereafter created,
|
||||
and to make technical modifications necessary to do so. The
|
||||
Licensor waives and/or agrees not to assert any right or
|
||||
authority to forbid You from making technical modifications
|
||||
necessary to exercise the Licensed Rights, including
|
||||
technical modifications necessary to circumvent Effective
|
||||
Technological Measures. For purposes of this Public License,
|
||||
simply making modifications authorized by this Section 2(a)
|
||||
(4) never produces Adapted Material.
|
||||
|
||||
5. Downstream recipients.
|
||||
|
||||
a. Offer from the Licensor -- Licensed Material. Every
|
||||
recipient of the Licensed Material automatically
|
||||
receives an offer from the Licensor to exercise the
|
||||
Licensed Rights under the terms and conditions of this
|
||||
Public License.
|
||||
|
||||
b. No downstream restrictions. You may not offer or impose
|
||||
any additional or different terms or conditions on, or
|
||||
apply any Effective Technological Measures to, the
|
||||
Licensed Material if doing so restricts exercise of the
|
||||
Licensed Rights by any recipient of the Licensed
|
||||
Material.
|
||||
|
||||
6. No endorsement. Nothing in this Public License constitutes or
|
||||
may be construed as permission to assert or imply that You
|
||||
are, or that Your use of the Licensed Material is, connected
|
||||
with, or sponsored, endorsed, or granted official status by,
|
||||
the Licensor or others designated to receive attribution as
|
||||
provided in Section 3(a)(1)(A)(i).
|
||||
|
||||
b. Other rights.
|
||||
|
||||
1. Moral rights, such as the right of integrity, are not
|
||||
licensed under this Public License, nor are publicity,
|
||||
privacy, and/or other similar personality rights; however, to
|
||||
the extent possible, the Licensor waives and/or agrees not to
|
||||
assert any such rights held by the Licensor to the limited
|
||||
extent necessary to allow You to exercise the Licensed
|
||||
Rights, but not otherwise.
|
||||
|
||||
2. Patent and trademark rights are not licensed under this
|
||||
Public License.
|
||||
|
||||
3. To the extent possible, the Licensor waives any right to
|
||||
collect royalties from You for the exercise of the Licensed
|
||||
Rights, whether directly or through a collecting society
|
||||
under any voluntary or waivable statutory or compulsory
|
||||
licensing scheme. In all other cases the Licensor expressly
|
||||
reserves any right to collect such royalties.
|
||||
|
||||
|
||||
Section 3 -- License Conditions.
|
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the
|
||||
following conditions.
|
||||
|
||||
a. Attribution.
|
||||
|
||||
1. If You Share the Licensed Material (including in modified
|
||||
form), You must:
|
||||
|
||||
a. retain the following if it is supplied by the Licensor
|
||||
with the Licensed Material:
|
||||
|
||||
i. identification of the creator(s) of the Licensed
|
||||
Material and any others designated to receive
|
||||
attribution, in any reasonable manner requested by
|
||||
the Licensor (including by pseudonym if
|
||||
designated);
|
||||
|
||||
ii. a copyright notice;
|
||||
|
||||
iii. a notice that refers to this Public License;
|
||||
|
||||
iv. a notice that refers to the disclaimer of
|
||||
warranties;
|
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the
|
||||
extent reasonably practicable;
|
||||
|
||||
b. indicate if You modified the Licensed Material and
|
||||
retain an indication of any previous modifications; and
|
||||
|
||||
c. indicate the Licensed Material is licensed under this
|
||||
Public License, and include the text of, or the URI or
|
||||
hyperlink to, this Public License.
|
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||
reasonable manner based on the medium, means, and context in
|
||||
which You Share the Licensed Material. For example, it may be
|
||||
reasonable to satisfy the conditions by providing a URI or
|
||||
hyperlink to a resource that includes the required
|
||||
information.
|
||||
|
||||
3. If requested by the Licensor, You must remove any of the
|
||||
information required by Section 3(a)(1)(A) to the extent
|
||||
reasonably practicable.
|
||||
|
||||
4. If You Share Adapted Material You produce, the Adapter's
|
||||
License You apply must not prevent recipients of the Adapted
|
||||
Material from complying with this Public License.
|
||||
|
||||
|
||||
Section 4 -- Sui Generis Database Rights.
|
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that
|
||||
apply to Your use of the Licensed Material:
|
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||
to extract, reuse, reproduce, and Share all or a substantial
|
||||
portion of the contents of the database;
|
||||
|
||||
b. if You include all or a substantial portion of the database
|
||||
contents in a database in which You have Sui Generis Database
|
||||
Rights, then the database in which You have Sui Generis Database
|
||||
Rights (but not its individual contents) is Adapted Material; and
|
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share
|
||||
all or a substantial portion of the contents of the database.
|
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not
|
||||
replace Your obligations under this Public License where the Licensed
|
||||
Rights include other Copyright and Similar Rights.
|
||||
|
||||
|
||||
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||
|
||||
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||
|
||||
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided
|
||||
above shall be interpreted in a manner that, to the extent
|
||||
possible, most closely approximates an absolute disclaimer and
|
||||
waiver of all liability.
|
||||
|
||||
|
||||
Section 6 -- Term and Termination.
|
||||
|
||||
a. This Public License applies for the term of the Copyright and
|
||||
Similar Rights licensed here. However, if You fail to comply with
|
||||
this Public License, then Your rights under this Public License
|
||||
terminate automatically.
|
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under
|
||||
Section 6(a), it reinstates:
|
||||
|
||||
1. automatically as of the date the violation is cured, provided
|
||||
it is cured within 30 days of Your discovery of the
|
||||
violation; or
|
||||
|
||||
2. upon express reinstatement by the Licensor.
|
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||
right the Licensor may have to seek remedies for Your violations
|
||||
of this Public License.
|
||||
|
||||
c. For the avoidance of doubt, the Licensor may also offer the
|
||||
Licensed Material under separate terms or conditions or stop
|
||||
distributing the Licensed Material at any time; however, doing so
|
||||
will not terminate this Public License.
|
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||
License.
|
||||
|
||||
|
||||
Section 7 -- Other Terms and Conditions.
|
||||
|
||||
a. The Licensor shall not be bound by any additional or different
|
||||
terms or conditions communicated by You unless expressly agreed.
|
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the
|
||||
Licensed Material not stated herein are separate from and
|
||||
independent of the terms and conditions of this Public License.
|
||||
|
||||
|
||||
Section 8 -- Interpretation.
|
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and
|
||||
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||
conditions on any use of the Licensed Material that could lawfully
|
||||
be made without permission under this Public License.
|
||||
|
||||
b. To the extent possible, if any provision of this Public License is
|
||||
deemed unenforceable, it shall be automatically reformed to the
|
||||
minimum extent necessary to make it enforceable. If the provision
|
||||
cannot be reformed, it shall be severed from this Public License
|
||||
without affecting the enforceability of the remaining terms and
|
||||
conditions.
|
||||
|
||||
c. No term or condition of this Public License will be waived and no
|
||||
failure to comply consented to unless expressly agreed to by the
|
||||
Licensor.
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted
|
||||
as a limitation upon, or waiver of, any privileges and immunities
|
||||
that apply to the Licensor or You, including from the legal
|
||||
processes of any jurisdiction or authority.
|
||||
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons is not a party to its public
|
||||
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
||||
its public licenses to material it publishes and in those instances
|
||||
will be considered the “Licensor.” The text of the Creative Commons
|
||||
public licenses is dedicated to the public domain under the CC0 Public
|
||||
Domain Dedication. Except for the limited purpose of indicating that
|
||||
material is shared under a Creative Commons public license or as
|
||||
otherwise permitted by the Creative Commons policies published at
|
||||
creativecommons.org/policies, Creative Commons does not authorize the
|
||||
use of the trademark "Creative Commons" or any other trademark or logo
|
||||
of Creative Commons without its prior written consent including,
|
||||
without limitation, in connection with any unauthorized modifications
|
||||
to any of its public licenses or any other arrangements,
|
||||
understandings, or agreements concerning use of licensed material. For
|
||||
the avoidance of doubt, this paragraph does not form part of the
|
||||
public licenses.
|
||||
|
||||
Creative Commons may be contacted at creativecommons.org.
|
||||
|
103
third_party/libuv/OAT.xml
vendored
Normal file
103
third_party/libuv/OAT.xml
vendored
Normal file
@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (c) 2021 Huawei Device Co., Ltd.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Notes:
|
||||
This is project config file for OpenHarmony OSS Audit Tool, if you have any questions or concerns, please email chenyaxun.
|
||||
-->
|
||||
<!-- OAT(OSS Audit Tool) configuration guide:
|
||||
basedir: Root dir, the basedir + project path is the real source file location.
|
||||
licensefile:
|
||||
1.If the project don't have "LICENSE" in root dir, please define all the license files in this project in , OAT will check license files according to this rule.
|
||||
|
||||
tasklist(only for batch mode):
|
||||
1. task: Define oat check thread, each task will start a new thread.
|
||||
2. task name: Only an name, no practical effect.
|
||||
3. task policy: Default policy for projects under this task, this field is required and the specified policy must defined in policylist.
|
||||
4. task filter: Default filefilter for projects under this task, this field is required and the specified filefilter must defined in filefilterlist.
|
||||
5. task project: Projects to be checked, the path field define the source root dir of the project.
|
||||
|
||||
|
||||
policyList:
|
||||
1. policy: All policyitems will be merged to default OAT.xml rules, the name of policy doesn't affect OAT check process.
|
||||
2. policyitem: The fields type, name, path, desc is required, and the fields rule, group, filefilter is optional,the default value is:
|
||||
<policyitem type="" name="" path="" desc="" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter"/>
|
||||
3. policyitem type:
|
||||
"compatibility" is used to check license compatibility in the specified path;
|
||||
"license" is used to check source license header in the specified path;
|
||||
"copyright" is used to check source copyright header in the specified path;
|
||||
"import" is used to check source dependency in the specified path, such as import ... ,include ...
|
||||
"filetype" is used to check file type in the specified path, supported file types: archive, binary
|
||||
"filename" is used to check whether the specified file exists in the specified path(support projectroot in default OAT.xml), supported file names: LICENSE, README, README.OpenSource
|
||||
|
||||
4. policyitem name: This field is used for define the license, copyright, "*" means match all, the "!" prefix means could not match this value. For example, "!GPL" means can not use GPL license.
|
||||
5. policyitem path: This field is used for define the source file scope to apply this policyitem, the "!" prefix means exclude the files. For example, "!.*/lib/.*" means files in lib dir will be exclude while process this policyitem.
|
||||
6. policyitem rule and group: These two fields are used together to merge policy results. "may" policyitems in the same group means any one in this group passed, the result will be passed.
|
||||
7. policyitem filefilter: Used to bind filefilter which define filter rules.
|
||||
8. filefilter: Filter rules, the type filename is used to filter file name, the type filepath is used to filter file path.
|
||||
|
||||
Note:If the text contains special characters, please escape them according to the following rules:
|
||||
" == >
|
||||
& == >
|
||||
' == >
|
||||
< == >
|
||||
> == >
|
||||
-->
|
||||
<configuration>
|
||||
<oatconfig>
|
||||
<licensefile></licensefile>
|
||||
<policylist>
|
||||
<policy name="projectPolicy" desc="">
|
||||
</policy>
|
||||
<policyitem type="compatibility" name="ISC License" path="src/inet.c" desc="ISC License,BSD-style,不影响兼容性"/>
|
||||
<policyitem type="compatibility" name="ISC License" path="include/uv/stdint-msvc2008.h" desc="ISC License,BSD-style,不影响兼容性"/>
|
||||
</policylist>
|
||||
<filefilterlist>
|
||||
<filefilter name="defaultPolicyFilter" desc="compatibility,license文件头校验策略的过滤条件" >
|
||||
<filteritem type="filepath" name="LICENSE-docs" desc="不使用的文件,且MIT协议,不影响兼容性"/>
|
||||
<filteritem type="filepath" name="docs/src/sphinx-plugins/manpage.py" desc="不使用的文件,且MIT协议,不影响兼容性"/>
|
||||
<filteritem type="filepath" name="docs/src/tcp.rst" desc="不参与编译,不影响兼容性"/>
|
||||
<filteritem type="filepath" name="tools/vswhere_usability_wrapper.cmd" desc="不使用的文件,且MIT协议,不影响兼容性"/>
|
||||
</filefilter>
|
||||
</filefilterlist>
|
||||
<licensematcherlist>
|
||||
<licensematcher name="ISC License" desc="如果工具扫描是InvalidLicense,可在此定义匹配规则,注意引号要转义" >
|
||||
<licensetext name="
|
||||
Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright (c) 1996,1999 by Internet Software Consortium.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
" desc=""/>
|
||||
</licensematcher>
|
||||
<licensematcher name="ISC License" desc="如果工具扫描是InvalidLicense,可在此定义匹配规则,注意引号要转义" >
|
||||
<licensetext name="
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. The name of the author may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
" desc=""/>
|
||||
</licensematcher>
|
||||
</licensematcherlist>
|
||||
</oatconfig>
|
||||
</configuration>
|
11
third_party/libuv/README.OpenSource
vendored
Normal file
11
third_party/libuv/README.OpenSource
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
[
|
||||
{
|
||||
"Name": "libuv",
|
||||
"License": "MIT License",
|
||||
"License File": "LICENSE",
|
||||
"Version Number": "v1.44.1",
|
||||
"Owner": "sunbingxin@huawei.com",
|
||||
"Upstream URL": "https://github.com/libuv/libuv",
|
||||
"Description": "libuv is a multi-platform support library with a focus on asynchronous I/O."
|
||||
}
|
||||
]
|
201
third_party/mindspore/LICENSE
vendored
Normal file
201
third_party/mindspore/LICENSE
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
89
third_party/mindspore/OAT.xml
vendored
Normal file
89
third_party/mindspore/OAT.xml
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (c) 2021 Huawei Device Co., Ltd.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
This is the configuration file template for OpenHarmony OSS Audit Tool, please copy it to your project root dir and modify it refer to OpenHarmony/tools_oat/README.
|
||||
|
||||
-->
|
||||
|
||||
<configuration>
|
||||
<oatconfig>
|
||||
<licensefile></licensefile>
|
||||
<policylist>
|
||||
<policy name="projectPolicy" desc="">
|
||||
<!--policyitem type="compatibility" name="GPL-2.0+" path="abc/.*" desc="Process that runs independently, invoked by the X process."/-->
|
||||
<!--policyitem type="license" name="LGPL" path="abc/.*" desc="Dynamically linked by module X"/-->
|
||||
<!--policyitem type="copyright" name="xxx" path="abc/.*" rule="may" group="defaultGroup" filefilter="copyrightPolicyFilter" desc="Developed by X Company"/-->
|
||||
</policy>
|
||||
</policylist>
|
||||
<filefilterlist>
|
||||
<filefilter name="defaultFilter" desc="Files not to check">
|
||||
<filteritem type="filename" name="*.iml|*.json|*.txt|*.bin|*.tflite|*.rst|*.ms|*.f32|*.png|*.sh|*.mindir|*.dat|*.xcuserstate|OWNERS|msobfuscator|libmsdeobfuscator-lite.*" desc="desc files"/>
|
||||
<filteritem type="filename" name="*.gitmodules|NOTICE|*.proto|Third_Party_Open_Source_Software_Notice|*.fbs" desc="desc files"/>
|
||||
<filteritem type="filepath" name="mindspore/ccsrc/minddata/.*" desc="test files"/>
|
||||
<filteritem type="filepath" name="tests/.*" desc="test files"/>
|
||||
<filteritem type="filepath" name="mindspore/lite/test/.*" desc="test files"/>
|
||||
<filteritem type="filepath" name="mindspore/lite/examples/.*" desc="test files"/>
|
||||
<filteritem type="filepath" name="mindspore/lite/java/.*" desc="test files"/>
|
||||
<filteritem type="filepath" name="mindspore/lite/schema/.*" desc="test files"/>
|
||||
<filteritem type="filepath" name="scripts/.*" desc="scripts files"/>
|
||||
<filteritem type="filepath" name="third_party/.*" desc="third party files"/>
|
||||
<!--filteritem type="filename" name="*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="abcdefg/.*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/-->
|
||||
</filefilter>
|
||||
<filefilter name="defaultPolicyFilter" desc="Filters for compatibility,license header policies">
|
||||
<!--filteritem type="filename" name="*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="abcdefg/.*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/-->
|
||||
</filefilter>
|
||||
<filefilter name="copyrightPolicyFilter" desc="Filters for copyright header policies">
|
||||
<!--filteritem type="filename" name="*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="abcdefg/.*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/-->
|
||||
</filefilter>
|
||||
<filefilter name="licenseFileNamePolicyFilter" desc="Filters for LICENSE file policies">
|
||||
<!--filteritem type="filename" name="*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="abcdefg/.*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/-->
|
||||
</filefilter>
|
||||
<filefilter name="readmeFileNamePolicyFilter" desc="Filters for README file policies">
|
||||
<!--filteritem type="filename" name="*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="abcdefg/.*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/-->
|
||||
</filefilter>
|
||||
<filefilter name="readmeOpenSourcefileNamePolicyFilter" desc="Filters for README.OpenSource file policies">
|
||||
<!--filteritem type="filename" name="*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="abcdefg/.*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/-->
|
||||
</filefilter>
|
||||
<filefilter name="binaryFileTypePolicyFilter" desc="Filters for binary file policies">
|
||||
<!--filteritem type="filename" name="*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="abcdefg/.*.uvwxyz" desc="Describe the reason for filtering scan results"/-->
|
||||
<!--filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/-->
|
||||
</filefilter>
|
||||
|
||||
</filefilterlist>
|
||||
<licensematcherlist>
|
||||
<!--licensematcher name="uvwxyz License" desc="If the scanning result is InvalidLicense, you can define matching rules here. Note that quotation marks must be escaped.">
|
||||
<licensetext name="
|
||||
uvwxyz license textA xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
" desc=""/>
|
||||
<licensetext name="
|
||||
uvwxyz license textB xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
" desc=""/>
|
||||
</licensematcher-->
|
||||
</licensematcherlist>
|
||||
</oatconfig>
|
||||
</configuration>
|
11
third_party/mindspore/README.OpenSource
vendored
Normal file
11
third_party/mindspore/README.OpenSource
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
[
|
||||
{
|
||||
"Name": "MindSpore",
|
||||
"License": "Apache License 2.0",
|
||||
"License File": "LICENSE.txt",
|
||||
"Version Number": "1.8.1",
|
||||
"Owner": "zhuguodong0001@163.com",
|
||||
"Upstream URL": "https://gitee.com/mindspore/mindspore/repository/archive/v1.8.1",
|
||||
"Description": "MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios."
|
||||
}
|
||||
]
|
193
third_party/musl/COPYRIGHT
vendored
Normal file
193
third_party/musl/COPYRIGHT
vendored
Normal file
@ -0,0 +1,193 @@
|
||||
musl as a whole is licensed under the following standard MIT license:
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Copyright © 2005-2020 Rich Felker, et al.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Authors/contributors include:
|
||||
|
||||
A. Wilcox
|
||||
Ada Worcester
|
||||
Alex Dowad
|
||||
Alex Suykov
|
||||
Alexander Monakov
|
||||
Andre McCurdy
|
||||
Andrew Kelley
|
||||
Anthony G. Basile
|
||||
Aric Belsito
|
||||
Arvid Picciani
|
||||
Bartosz Brachaczek
|
||||
Benjamin Peterson
|
||||
Bobby Bingham
|
||||
Boris Brezillon
|
||||
Brent Cook
|
||||
Chris Spiegel
|
||||
Clément Vasseur
|
||||
Daniel Micay
|
||||
Daniel Sabogal
|
||||
Daurnimator
|
||||
David Carlier
|
||||
David Edelsohn
|
||||
Denys Vlasenko
|
||||
Dmitry Ivanov
|
||||
Dmitry V. Levin
|
||||
Drew DeVault
|
||||
Emil Renner Berthing
|
||||
Fangrui Song
|
||||
Felix Fietkau
|
||||
Felix Janda
|
||||
Gianluca Anzolin
|
||||
Hauke Mehrtens
|
||||
He X
|
||||
Hiltjo Posthuma
|
||||
Isaac Dunham
|
||||
Jaydeep Patil
|
||||
Jens Gustedt
|
||||
Jeremy Huntwork
|
||||
Jo-Philipp Wich
|
||||
Joakim Sindholt
|
||||
John Spencer
|
||||
Julien Ramseier
|
||||
Justin Cormack
|
||||
Kaarle Ritvanen
|
||||
Khem Raj
|
||||
Kylie McClain
|
||||
Leah Neukirchen
|
||||
Luca Barbato
|
||||
Luka Perkov
|
||||
M Farkas-Dyck (Strake)
|
||||
Mahesh Bodapati
|
||||
Markus Wichmann
|
||||
Masanori Ogino
|
||||
Michael Clark
|
||||
Michael Forney
|
||||
Mikhail Kremnyov
|
||||
Natanael Copa
|
||||
Nicholas J. Kain
|
||||
orc
|
||||
Pascal Cuoq
|
||||
Patrick Oppenlander
|
||||
Petr Hosek
|
||||
Petr Skocik
|
||||
Pierre Carrier
|
||||
Reini Urban
|
||||
Rich Felker
|
||||
Richard Pennington
|
||||
Ryan Fairfax
|
||||
Samuel Holland
|
||||
Segev Finer
|
||||
Shiz
|
||||
sin
|
||||
Solar Designer
|
||||
Stefan Kristiansson
|
||||
Stefan O'Rear
|
||||
Szabolcs Nagy
|
||||
Timo Teräs
|
||||
Trutz Behn
|
||||
Valentin Ochs
|
||||
Will Dietz
|
||||
William Haddon
|
||||
William Pitcock
|
||||
|
||||
Portions of this software are derived from third-party works licensed
|
||||
under terms compatible with the above MIT license:
|
||||
|
||||
The TRE regular expression implementation (src/regex/reg* and
|
||||
src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed
|
||||
under a 2-clause BSD license (license text in the source files). The
|
||||
included version has been heavily modified by Rich Felker in 2012, in
|
||||
the interests of size, simplicity, and namespace cleanliness.
|
||||
|
||||
Much of the math library code (src/math/* and src/complex/*) is
|
||||
Copyright © 1993,2004 Sun Microsystems or
|
||||
Copyright © 2003-2011 David Schultz or
|
||||
Copyright © 2003-2009 Steven G. Kargl or
|
||||
Copyright © 2003-2009 Bruce D. Evans or
|
||||
Copyright © 2008 Stephen L. Moshier or
|
||||
Copyright © 2017-2018 Arm Limited
|
||||
and labelled as such in comments in the individual source files. All
|
||||
have been licensed under extremely permissive terms.
|
||||
|
||||
The ARM memcpy code (src/string/arm/memcpy.S) is Copyright © 2008
|
||||
The Android Open Source Project and is licensed under a two-clause BSD
|
||||
license. It was taken from Bionic libc, used on Android.
|
||||
|
||||
The AArch64 memcpy and memset code (src/string/aarch64/*) are
|
||||
Copyright © 1999-2019, Arm Limited.
|
||||
|
||||
The implementation of DES for crypt (src/crypt/crypt_des.c) is
|
||||
Copyright © 1994 David Burren. It is licensed under a BSD license.
|
||||
|
||||
The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was
|
||||
originally written by Solar Designer and placed into the public
|
||||
domain. The code also comes with a fallback permissive license for use
|
||||
in jurisdictions that may not recognize the public domain.
|
||||
|
||||
The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
|
||||
Valentin Ochs and is licensed under an MIT-style license.
|
||||
|
||||
The x86_64 port was written by Nicholas J. Kain and is licensed under
|
||||
the standard MIT terms.
|
||||
|
||||
The mips and microblaze ports were originally written by Richard
|
||||
Pennington for use in the ellcc project. The original code was adapted
|
||||
by Rich Felker for build system and code conventions during upstream
|
||||
integration. It is licensed under the standard MIT terms.
|
||||
|
||||
The mips64 port was contributed by Imagination Technologies and is
|
||||
licensed under the standard MIT terms.
|
||||
|
||||
The powerpc port was also originally written by Richard Pennington,
|
||||
and later supplemented and integrated by John Spencer. It is licensed
|
||||
under the standard MIT terms.
|
||||
|
||||
All other files which have no copyright comments are original works
|
||||
produced specifically for use as part of this library, written either
|
||||
by Rich Felker, the main author of the library, or by one or more
|
||||
contibutors listed above. Details on authorship of individual files
|
||||
can be found in the git version control history of the project. The
|
||||
omission of copyright and license comments in each file is in the
|
||||
interest of source tree size.
|
||||
|
||||
In addition, permission is hereby granted for all public header files
|
||||
(include/* and arch/*/bits/*) and crt files intended to be linked into
|
||||
applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit
|
||||
the copyright notice and permission notice otherwise required by the
|
||||
license, and to use these files without any requirement of
|
||||
attribution. These files include substantial contributions from:
|
||||
|
||||
Bobby Bingham
|
||||
John Spencer
|
||||
Nicholas J. Kain
|
||||
Rich Felker
|
||||
Richard Pennington
|
||||
Stefan Kristiansson
|
||||
Szabolcs Nagy
|
||||
|
||||
all of whom have explicitly granted such permission.
|
||||
|
||||
This file previously contained text expressing a belief that most of
|
||||
the files covered by the above exception were sufficiently trivial not
|
||||
to be subject to copyright, resulting in confusion over whether it
|
||||
negated the permissions granted in the license. In the spirit of
|
||||
permissive licensing, and of not having licensing issues being an
|
||||
obstacle to adoption, that text has been removed.
|
92
third_party/musl/OAT.xml
vendored
Normal file
92
third_party/musl/OAT.xml
vendored
Normal file
@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (c) 2021 Huawei Device Co., Ltd.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
This is the configuration file template for OpenHarmony OSS Audit Tool, please copy it to your project root dir and modify it refer to OpenHarmony/tools_oat/README.
|
||||
All configurations in this file will be merged to OAT-Default.xml, if you have any questions or concerns, please create issue in OpenHarmony/tools_oat and @jalenchen or chenyaxun.
|
||||
|
||||
licensefile:
|
||||
1.If the project don't have "LICENSE" in root dir, please define all the license files in this project in , OAT will check license files according to this rule.
|
||||
|
||||
policylist:
|
||||
1. policy: If the OAT-Default.xml policies do not meet your requirements, please add policies here.
|
||||
2. policyitem: The fields type, name, path, desc is required, and the fields rule, group, filefilter is optional,the default value is:
|
||||
<policyitem type="" name="" path="" desc="" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter"/>
|
||||
3. policyitem type:
|
||||
"compatibility" is used to check license compatibility in the specified path;
|
||||
"license" is used to check source license header in the specified path;
|
||||
"copyright" is used to check source copyright header in the specified path;
|
||||
"import" is used to check source dependency in the specified path, such as import ... ,include ...
|
||||
"filetype" is used to check file type in the specified path, supported file types: archive, binary
|
||||
"filename" is used to check whether the specified file exists in the specified path(projectroot means the root dir of the project), supported file names: LICENSE, README, README.OpenSource
|
||||
4. policyitem name: This field is used for define the license, copyright, "*" means match all, the "!" prefix means could not match this value. For example, "!GPL" means can not use GPL license.
|
||||
5. policyitem path: This field is used for define the source file scope to apply this policyitem, the "!" prefix means exclude the files. For example, "!.*/lib/.*" means files in lib dir will be exclude while process this policyitem.
|
||||
6. policyitem rule and group: These two fields are used together to merge policy results. "may" policyitems in the same group means any one in this group passed, the result will be passed.
|
||||
7. policyitem filefilter: Used to bind filefilter which define filter rules.
|
||||
7. policyitem desc: Used to describe the reason of this policy item, committers will check this while merging the code.
|
||||
8. filefilter: Filter rules, the type filename is used to filter file name, the type filepath is used to filter file path.
|
||||
|
||||
Note:If the text contains special characters, please escape them according to the following rules:
|
||||
" == "
|
||||
& == &
|
||||
' == '
|
||||
< == <
|
||||
> == >
|
||||
-->
|
||||
|
||||
<configuration>
|
||||
<oatconfig>
|
||||
<licensefile>COPYRIGHT</licensefile>
|
||||
<policylist>
|
||||
<policy name="projectPolicy" desc="">
|
||||
<!--policyitem type="compatibility" name="GPL-2.0+" path=".*" desc="Process that runs independently, invoked by the X process."/-->
|
||||
<!--policyitem type="license" name="LGPL" path=".*" desc="Dynamically linked by module X"/-->
|
||||
<!--policyitem type="copyright" name="xxx" path=".*" rule="may" group="defaultGroup" filefilter="copyrightPolicyFilter" desc="Developed by X Company"/-->
|
||||
</policy>
|
||||
</policylist>
|
||||
|
||||
<filefilterlist>
|
||||
<filefilter name="defaultFilter" desc="Files not to check">
|
||||
<filteritem type="filename" name="*.iml|*.json|*.txt" desc="desc files"/>
|
||||
<filteritem type="filepath" name="target/.*" desc="Compile output files"/>
|
||||
<filteritem type="filepath" name="out/.*" desc="Compile output files"/>
|
||||
<filteritem type="filepath" name="log/.*" desc="log files"/>
|
||||
<filteritem type="filepath" name=".idea/.*" desc="IDE temp files"/>
|
||||
<filteritem type="filepath" name="projectroot/[a-zA-Z0-9]{20,}.sh" desc="Temp files"/>
|
||||
<filteritem type="filepath" name="src/test/.*" desc="Test files"/>
|
||||
</filefilter>
|
||||
<filefilter name="defaultPolicyFilter" desc="Filters for compatibility,license header policies">
|
||||
<filteritem type="filepath" name="porting/liteos_a/kernel/src/math/.*" desc="No License specified while permission to use, copy, modify, and distribute are granted"/>
|
||||
<filteritem type="filepath" name="porting/liteos_m/kernel/src/math/.*" desc="No License specified while permission to use, copy, modify, and distribute are granted"/>
|
||||
<filteritem type="filepath" name="src/complex/.*" desc="No License specified while permission to use, copy, modify, and distribute are granted"/>
|
||||
<filteritem type="filepath" name="src/crypt/crypt_blowfish.c" desc="No License specified while permission to use, copy, modify, and distribute are granted"/>
|
||||
<filteritem type="filepath" name="src/math/.*" desc="No License specified while permission to use, copy, modify, and distribute are granted"/>
|
||||
<filteritem type="filepath" name="src/string/arm/memcpy_le.S" desc="No License specified while requirements for receving permission to use, copy, modify, and distribute are satisfied"/>
|
||||
<filteritem type="filepath" name="libc-test/src/math/crlibm/.*" desc="GPLV2协议,测试代码,进程独立,不会造成GPL协议污染"/>
|
||||
<filteritem type="filepath" name="libc-test/src/math/ucb/.*" desc="GPLV2协议,测试代码,进程独立,不会造成GPL协议污染"/>
|
||||
<filteritem type="filepath" name="libc-test/COPYRIGHT" desc="License本身"/>
|
||||
</filefilter>
|
||||
<filefilter name="copyrightPolicyFilter" desc="Filters for copyright header policies">
|
||||
</filefilter>
|
||||
<filefilter name="licenseFileNamePolicyFilter" desc="Filters for LICENSE file policies">
|
||||
</filefilter>
|
||||
<filefilter name="readmeFileNamePolicyFilter" desc="Filters for README file policies">
|
||||
</filefilter>
|
||||
<filefilter name="readmeOpenSourcefileNamePolicyFilter" desc="Filters for README.OpenSource file policies">
|
||||
</filefilter>
|
||||
<filefilter name="binaryFileTypePolicyFilter" desc="Filters for binary file policies">
|
||||
</filefilter>
|
||||
</filefilterlist>
|
||||
</oatconfig>
|
||||
</configuration>
|
11
third_party/musl/README.OpenSource
vendored
Normal file
11
third_party/musl/README.OpenSource
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
[
|
||||
{
|
||||
"Name" : "OpenEuler: musl",
|
||||
"License" : "MIT License",
|
||||
"License File" : "COPYRIGHT",
|
||||
"Version Number" : "1.2.3-1.oe2203sp1",
|
||||
"Owner" : "jianghan2@huawei.com",
|
||||
"Upstream URL" : "https://repo.openeuler.org/openEuler-22.03-LTS-SP1/source/Packages/musl-1.2.3-1.oe2203sp1.src.rpm",
|
||||
"Description" : "musl is an MIT-licensed implementation of the standard C library"
|
||||
}
|
||||
]
|
55
third_party/musl/ndk_musl_include/aio.h
vendored
Normal file
55
third_party/musl/ndk_musl_include/aio.h
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
#ifndef _AIO_H
|
||||
#define _AIO_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <signal.h>
|
||||
#include <time.h>
|
||||
|
||||
#define __NEED_ssize_t
|
||||
#define __NEED_off_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
struct aiocb {
|
||||
int aio_fildes, aio_lio_opcode, aio_reqprio;
|
||||
volatile void *aio_buf;
|
||||
size_t aio_nbytes;
|
||||
struct sigevent aio_sigevent;
|
||||
void *__td;
|
||||
int __lock[2];
|
||||
volatile int __err;
|
||||
ssize_t __ret;
|
||||
off_t aio_offset;
|
||||
void *__next, *__prev;
|
||||
char __dummy4[32-2*sizeof(void *)];
|
||||
};
|
||||
|
||||
#define AIO_CANCELED 0
|
||||
#define AIO_NOTCANCELED 1
|
||||
#define AIO_ALLDONE 2
|
||||
|
||||
#define LIO_READ 0
|
||||
#define LIO_WRITE 1
|
||||
#define LIO_NOP 2
|
||||
|
||||
#define LIO_WAIT 0
|
||||
#define LIO_NOWAIT 1
|
||||
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
#define aiocb64 aiocb
|
||||
#define off64_t off_t
|
||||
#endif
|
||||
|
||||
#if _REDIR_TIME64
|
||||
__REDIR(aio_suspend, __aio_suspend_time64);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
17
third_party/musl/ndk_musl_include/alloca.h
vendored
Normal file
17
third_party/musl/ndk_musl_include/alloca.h
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
#ifndef _ALLOCA_H
|
||||
#define _ALLOCA_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define __NEED_size_t
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#define alloca __builtin_alloca
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
25
third_party/musl/ndk_musl_include/ar.h
vendored
Normal file
25
third_party/musl/ndk_musl_include/ar.h
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef _AR_H
|
||||
#define _AR_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define ARMAG "!<arch>\n"
|
||||
#define SARMAG 8
|
||||
#define ARFMAG "`\n"
|
||||
|
||||
struct ar_hdr {
|
||||
char ar_name[16];
|
||||
char ar_date[12];
|
||||
char ar_uid[6], ar_gid[6];
|
||||
char ar_mode[8];
|
||||
char ar_size[10];
|
||||
char ar_fmag[2];
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
35
third_party/musl/ndk_musl_include/arpa/ftp.h
vendored
Normal file
35
third_party/musl/ndk_musl_include/arpa/ftp.h
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
#ifndef _ARPA_FTP_H
|
||||
#define _ARPA_FTP_H
|
||||
#define PRELIM 1
|
||||
#define COMPLETE 2
|
||||
#define CONTINUE 3
|
||||
#define TRANSIENT 4
|
||||
#define ERROR 5
|
||||
#define TYPE_A 1
|
||||
#define TYPE_E 2
|
||||
#define TYPE_I 3
|
||||
#define TYPE_L 4
|
||||
#define FORM_N 1
|
||||
#define FORM_T 2
|
||||
#define FORM_C 3
|
||||
#define STRU_F 1
|
||||
#define STRU_R 2
|
||||
#define STRU_P 3
|
||||
#define MODE_S 1
|
||||
#define MODE_B 2
|
||||
#define MODE_C 3
|
||||
#define REC_ESC '\377'
|
||||
#define REC_EOR '\001'
|
||||
#define REC_EOF '\002'
|
||||
#define BLK_EOR 0x80
|
||||
#define BLK_EOF 0x40
|
||||
#define BLK_ERRORS 0x20
|
||||
#define BLK_RESTART 0x10
|
||||
#define BLK_BYTECOUNT 2
|
||||
#ifdef FTP_NAMES
|
||||
char *modenames[] = {"0", "Stream", "Block", "Compressed" };
|
||||
char *strunames[] = {"0", "File", "Record", "Page" };
|
||||
char *typenames[] = {"0", "ASCII", "EBCDIC", "Image", "Local" };
|
||||
char *formnames[] = {"0", "Nonprint", "Telnet", "Carriage-control" };
|
||||
#endif
|
||||
#endif
|
36
third_party/musl/ndk_musl_include/arpa/inet.h
vendored
Normal file
36
third_party/musl/ndk_musl_include/arpa/inet.h
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
#ifndef _ARPA_INET_H
|
||||
#define _ARPA_INET_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
uint32_t htonl(uint32_t);
|
||||
uint16_t htons(uint16_t);
|
||||
uint32_t ntohl(uint32_t);
|
||||
uint16_t ntohs(uint16_t);
|
||||
|
||||
in_addr_t inet_addr (const char *);
|
||||
in_addr_t inet_network (const char *);
|
||||
char *inet_ntoa (struct in_addr);
|
||||
int inet_pton (int, const char *__restrict, void *__restrict);
|
||||
const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
|
||||
|
||||
int inet_aton (const char *, struct in_addr *);
|
||||
struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
|
||||
in_addr_t inet_lnaof(struct in_addr);
|
||||
in_addr_t inet_netof(struct in_addr);
|
||||
|
||||
#undef INET_ADDRSTRLEN
|
||||
#undef INET6_ADDRSTRLEN
|
||||
#define INET_ADDRSTRLEN 16
|
||||
#define INET6_ADDRSTRLEN 46
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
455
third_party/musl/ndk_musl_include/arpa/nameser.h
vendored
Normal file
455
third_party/musl/ndk_musl_include/arpa/nameser.h
vendored
Normal file
@ -0,0 +1,455 @@
|
||||
#ifndef _ARPA_NAMESER_H
|
||||
#define _ARPA_NAMESER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define __NAMESER 19991006
|
||||
#define NS_PACKETSZ 512
|
||||
#define NS_MAXDNAME 1025
|
||||
#define NS_MAXMSG 65535
|
||||
#define NS_MAXCDNAME 255
|
||||
#define NS_MAXLABEL 63
|
||||
#define NS_HFIXEDSZ 12
|
||||
#define NS_QFIXEDSZ 4
|
||||
#define NS_RRFIXEDSZ 10
|
||||
#define NS_INT32SZ 4
|
||||
#define NS_INT16SZ 2
|
||||
#define NS_INT8SZ 1
|
||||
#define NS_INADDRSZ 4
|
||||
#define NS_IN6ADDRSZ 16
|
||||
#define NS_CMPRSFLGS 0xc0
|
||||
#define NS_DEFAULTPORT 53
|
||||
|
||||
typedef enum __ns_sect {
|
||||
ns_s_qd = 0,
|
||||
ns_s_zn = 0,
|
||||
ns_s_an = 1,
|
||||
ns_s_pr = 1,
|
||||
ns_s_ns = 2,
|
||||
ns_s_ud = 2,
|
||||
ns_s_ar = 3,
|
||||
ns_s_max = 4
|
||||
} ns_sect;
|
||||
|
||||
typedef struct __ns_msg {
|
||||
const unsigned char *_msg, *_eom;
|
||||
uint16_t _id, _flags, _counts[ns_s_max];
|
||||
const unsigned char *_sections[ns_s_max];
|
||||
ns_sect _sect;
|
||||
int _rrnum;
|
||||
const unsigned char *_msg_ptr;
|
||||
} ns_msg;
|
||||
|
||||
struct _ns_flagdata { int mask, shift; };
|
||||
extern const struct _ns_flagdata _ns_flagdata[];
|
||||
|
||||
#define ns_msg_id(handle) ((handle)._id + 0)
|
||||
#define ns_msg_base(handle) ((handle)._msg + 0)
|
||||
#define ns_msg_end(handle) ((handle)._eom + 0)
|
||||
#define ns_msg_size(handle) ((handle)._eom - (handle)._msg)
|
||||
#define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
|
||||
#define ns_msg_getflag(handle, flag) \
|
||||
(((handle)._flags & _ns_flagdata[flag].mask) >> _ns_flagdata[flag].shift)
|
||||
|
||||
typedef struct __ns_rr {
|
||||
char name[NS_MAXDNAME];
|
||||
uint16_t type;
|
||||
uint16_t rr_class;
|
||||
uint32_t ttl;
|
||||
uint16_t rdlength;
|
||||
const unsigned char *rdata;
|
||||
} ns_rr;
|
||||
|
||||
#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".")
|
||||
#define ns_rr_type(rr) ((ns_type)((rr).type + 0))
|
||||
#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0))
|
||||
#define ns_rr_ttl(rr) ((rr).ttl + 0)
|
||||
#define ns_rr_rdlen(rr) ((rr).rdlength + 0)
|
||||
#define ns_rr_rdata(rr) ((rr).rdata + 0)
|
||||
|
||||
typedef enum __ns_flag {
|
||||
ns_f_qr,
|
||||
ns_f_opcode,
|
||||
ns_f_aa,
|
||||
ns_f_tc,
|
||||
ns_f_rd,
|
||||
ns_f_ra,
|
||||
ns_f_z,
|
||||
ns_f_ad,
|
||||
ns_f_cd,
|
||||
ns_f_rcode,
|
||||
ns_f_max
|
||||
} ns_flag;
|
||||
|
||||
typedef enum __ns_opcode {
|
||||
ns_o_query = 0,
|
||||
ns_o_iquery = 1,
|
||||
ns_o_status = 2,
|
||||
ns_o_notify = 4,
|
||||
ns_o_update = 5,
|
||||
ns_o_max = 6
|
||||
} ns_opcode;
|
||||
|
||||
typedef enum __ns_rcode {
|
||||
ns_r_noerror = 0,
|
||||
ns_r_formerr = 1,
|
||||
ns_r_servfail = 2,
|
||||
ns_r_nxdomain = 3,
|
||||
ns_r_notimpl = 4,
|
||||
ns_r_refused = 5,
|
||||
ns_r_yxdomain = 6,
|
||||
ns_r_yxrrset = 7,
|
||||
ns_r_nxrrset = 8,
|
||||
ns_r_notauth = 9,
|
||||
ns_r_notzone = 10,
|
||||
ns_r_max = 11,
|
||||
ns_r_badvers = 16,
|
||||
ns_r_badsig = 16,
|
||||
ns_r_badkey = 17,
|
||||
ns_r_badtime = 18
|
||||
} ns_rcode;
|
||||
|
||||
typedef enum __ns_update_operation {
|
||||
ns_uop_delete = 0,
|
||||
ns_uop_add = 1,
|
||||
ns_uop_max = 2
|
||||
} ns_update_operation;
|
||||
|
||||
struct ns_tsig_key {
|
||||
char name[NS_MAXDNAME], alg[NS_MAXDNAME];
|
||||
unsigned char *data;
|
||||
int len;
|
||||
};
|
||||
typedef struct ns_tsig_key ns_tsig_key;
|
||||
|
||||
struct ns_tcp_tsig_state {
|
||||
int counter;
|
||||
struct dst_key *key;
|
||||
void *ctx;
|
||||
unsigned char sig[NS_PACKETSZ];
|
||||
int siglen;
|
||||
};
|
||||
typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
|
||||
|
||||
#define NS_TSIG_FUDGE 300
|
||||
#define NS_TSIG_TCP_COUNT 100
|
||||
#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
|
||||
|
||||
#define NS_TSIG_ERROR_NO_TSIG -10
|
||||
#define NS_TSIG_ERROR_NO_SPACE -11
|
||||
#define NS_TSIG_ERROR_FORMERR -12
|
||||
|
||||
typedef enum __ns_type {
|
||||
ns_t_invalid = 0,
|
||||
ns_t_a = 1,
|
||||
ns_t_ns = 2,
|
||||
ns_t_md = 3,
|
||||
ns_t_mf = 4,
|
||||
ns_t_cname = 5,
|
||||
ns_t_soa = 6,
|
||||
ns_t_mb = 7,
|
||||
ns_t_mg = 8,
|
||||
ns_t_mr = 9,
|
||||
ns_t_null = 10,
|
||||
ns_t_wks = 11,
|
||||
ns_t_ptr = 12,
|
||||
ns_t_hinfo = 13,
|
||||
ns_t_minfo = 14,
|
||||
ns_t_mx = 15,
|
||||
ns_t_txt = 16,
|
||||
ns_t_rp = 17,
|
||||
ns_t_afsdb = 18,
|
||||
ns_t_x25 = 19,
|
||||
ns_t_isdn = 20,
|
||||
ns_t_rt = 21,
|
||||
ns_t_nsap = 22,
|
||||
ns_t_nsap_ptr = 23,
|
||||
ns_t_sig = 24,
|
||||
ns_t_key = 25,
|
||||
ns_t_px = 26,
|
||||
ns_t_gpos = 27,
|
||||
ns_t_aaaa = 28,
|
||||
ns_t_loc = 29,
|
||||
ns_t_nxt = 30,
|
||||
ns_t_eid = 31,
|
||||
ns_t_nimloc = 32,
|
||||
ns_t_srv = 33,
|
||||
ns_t_atma = 34,
|
||||
ns_t_naptr = 35,
|
||||
ns_t_kx = 36,
|
||||
ns_t_cert = 37,
|
||||
ns_t_a6 = 38,
|
||||
ns_t_dname = 39,
|
||||
ns_t_sink = 40,
|
||||
ns_t_opt = 41,
|
||||
ns_t_apl = 42,
|
||||
ns_t_tkey = 249,
|
||||
ns_t_tsig = 250,
|
||||
ns_t_ixfr = 251,
|
||||
ns_t_axfr = 252,
|
||||
ns_t_mailb = 253,
|
||||
ns_t_maila = 254,
|
||||
ns_t_any = 255,
|
||||
ns_t_zxfr = 256,
|
||||
ns_t_max = 65536
|
||||
} ns_type;
|
||||
|
||||
#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \
|
||||
(t) == ns_t_mailb || (t) == ns_t_maila)
|
||||
#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
|
||||
#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
|
||||
#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
|
||||
#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \
|
||||
(t) == ns_t_zxfr)
|
||||
|
||||
typedef enum __ns_class {
|
||||
ns_c_invalid = 0,
|
||||
ns_c_in = 1,
|
||||
ns_c_2 = 2,
|
||||
ns_c_chaos = 3,
|
||||
ns_c_hs = 4,
|
||||
ns_c_none = 254,
|
||||
ns_c_any = 255,
|
||||
ns_c_max = 65536
|
||||
} ns_class;
|
||||
|
||||
typedef enum __ns_key_types {
|
||||
ns_kt_rsa = 1,
|
||||
ns_kt_dh = 2,
|
||||
ns_kt_dsa = 3,
|
||||
ns_kt_private = 254
|
||||
} ns_key_types;
|
||||
|
||||
typedef enum __ns_cert_types {
|
||||
cert_t_pkix = 1,
|
||||
cert_t_spki = 2,
|
||||
cert_t_pgp = 3,
|
||||
cert_t_url = 253,
|
||||
cert_t_oid = 254
|
||||
} ns_cert_types;
|
||||
|
||||
#define NS_KEY_TYPEMASK 0xC000
|
||||
#define NS_KEY_TYPE_AUTH_CONF 0x0000
|
||||
#define NS_KEY_TYPE_CONF_ONLY 0x8000
|
||||
#define NS_KEY_TYPE_AUTH_ONLY 0x4000
|
||||
#define NS_KEY_TYPE_NO_KEY 0xC000
|
||||
#define NS_KEY_NO_AUTH 0x8000
|
||||
#define NS_KEY_NO_CONF 0x4000
|
||||
#define NS_KEY_RESERVED2 0x2000
|
||||
#define NS_KEY_EXTENDED_FLAGS 0x1000
|
||||
#define NS_KEY_RESERVED4 0x0800
|
||||
#define NS_KEY_RESERVED5 0x0400
|
||||
#define NS_KEY_NAME_TYPE 0x0300
|
||||
#define NS_KEY_NAME_USER 0x0000
|
||||
#define NS_KEY_NAME_ENTITY 0x0200
|
||||
#define NS_KEY_NAME_ZONE 0x0100
|
||||
#define NS_KEY_NAME_RESERVED 0x0300
|
||||
#define NS_KEY_RESERVED8 0x0080
|
||||
#define NS_KEY_RESERVED9 0x0040
|
||||
#define NS_KEY_RESERVED10 0x0020
|
||||
#define NS_KEY_RESERVED11 0x0010
|
||||
#define NS_KEY_SIGNATORYMASK 0x000F
|
||||
#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \
|
||||
NS_KEY_RESERVED4 | \
|
||||
NS_KEY_RESERVED5 | \
|
||||
NS_KEY_RESERVED8 | \
|
||||
NS_KEY_RESERVED9 | \
|
||||
NS_KEY_RESERVED10 | \
|
||||
NS_KEY_RESERVED11 )
|
||||
#define NS_KEY_RESERVED_BITMASK2 0xFFFF
|
||||
#define NS_ALG_MD5RSA 1
|
||||
#define NS_ALG_DH 2
|
||||
#define NS_ALG_DSA 3
|
||||
#define NS_ALG_DSS NS_ALG_DSA
|
||||
#define NS_ALG_EXPIRE_ONLY 253
|
||||
#define NS_ALG_PRIVATE_OID 254
|
||||
|
||||
#define NS_KEY_PROT_TLS 1
|
||||
#define NS_KEY_PROT_EMAIL 2
|
||||
#define NS_KEY_PROT_DNSSEC 3
|
||||
#define NS_KEY_PROT_IPSEC 4
|
||||
#define NS_KEY_PROT_ANY 255
|
||||
|
||||
#define NS_MD5RSA_MIN_BITS 512
|
||||
#define NS_MD5RSA_MAX_BITS 4096
|
||||
#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
|
||||
#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
|
||||
#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8)
|
||||
#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8)
|
||||
|
||||
#define NS_DSA_SIG_SIZE 41
|
||||
#define NS_DSA_MIN_SIZE 213
|
||||
#define NS_DSA_MAX_BYTES 405
|
||||
|
||||
#define NS_SIG_TYPE 0
|
||||
#define NS_SIG_ALG 2
|
||||
#define NS_SIG_LABELS 3
|
||||
#define NS_SIG_OTTL 4
|
||||
#define NS_SIG_EXPIR 8
|
||||
#define NS_SIG_SIGNED 12
|
||||
#define NS_SIG_FOOT 16
|
||||
#define NS_SIG_SIGNER 18
|
||||
#define NS_NXT_BITS 8
|
||||
#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
|
||||
#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
|
||||
#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
|
||||
#define NS_NXT_MAX 127
|
||||
|
||||
#define NS_OPT_DNSSEC_OK 0x8000U
|
||||
#define NS_OPT_NSID 3
|
||||
|
||||
#define NS_GET16(s, cp) (void)((s) = ns_get16(((cp)+=2)-2))
|
||||
#define NS_GET32(l, cp) (void)((l) = ns_get32(((cp)+=4)-4))
|
||||
#define NS_PUT16(s, cp) ns_put16((s), ((cp)+=2)-2)
|
||||
#define NS_PUT32(l, cp) ns_put32((l), ((cp)+=4)-4)
|
||||
|
||||
unsigned ns_get16(const unsigned char *);
|
||||
unsigned long ns_get32(const unsigned char *);
|
||||
void ns_put16(unsigned, unsigned char *);
|
||||
void ns_put32(unsigned long, unsigned char *);
|
||||
|
||||
int ns_initparse(const unsigned char *, int, ns_msg *);
|
||||
int ns_parserr(ns_msg *, ns_sect, int, ns_rr *);
|
||||
int ns_skiprr(const unsigned char *, const unsigned char *, ns_sect, int);
|
||||
int ns_name_uncompress(const unsigned char *, const unsigned char *, const unsigned char *, char *, size_t);
|
||||
|
||||
|
||||
#define __BIND 19950621
|
||||
|
||||
typedef struct {
|
||||
unsigned id :16;
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
unsigned qr: 1;
|
||||
unsigned opcode: 4;
|
||||
unsigned aa: 1;
|
||||
unsigned tc: 1;
|
||||
unsigned rd: 1;
|
||||
unsigned ra: 1;
|
||||
unsigned unused :1;
|
||||
unsigned ad: 1;
|
||||
unsigned cd: 1;
|
||||
unsigned rcode :4;
|
||||
#else
|
||||
unsigned rd :1;
|
||||
unsigned tc :1;
|
||||
unsigned aa :1;
|
||||
unsigned opcode :4;
|
||||
unsigned qr :1;
|
||||
unsigned rcode :4;
|
||||
unsigned cd: 1;
|
||||
unsigned ad: 1;
|
||||
unsigned unused :1;
|
||||
unsigned ra :1;
|
||||
#endif
|
||||
unsigned qdcount :16;
|
||||
unsigned ancount :16;
|
||||
unsigned nscount :16;
|
||||
unsigned arcount :16;
|
||||
} HEADER;
|
||||
|
||||
#define PACKETSZ NS_PACKETSZ
|
||||
#define MAXDNAME NS_MAXDNAME
|
||||
#define MAXCDNAME NS_MAXCDNAME
|
||||
#define MAXLABEL NS_MAXLABEL
|
||||
#define HFIXEDSZ NS_HFIXEDSZ
|
||||
#define QFIXEDSZ NS_QFIXEDSZ
|
||||
#define RRFIXEDSZ NS_RRFIXEDSZ
|
||||
#define INT32SZ NS_INT32SZ
|
||||
#define INT16SZ NS_INT16SZ
|
||||
#define INT8SZ NS_INT8SZ
|
||||
#define INADDRSZ NS_INADDRSZ
|
||||
#define IN6ADDRSZ NS_IN6ADDRSZ
|
||||
#define INDIR_MASK NS_CMPRSFLGS
|
||||
#define NAMESERVER_PORT NS_DEFAULTPORT
|
||||
|
||||
#define S_ZONE ns_s_zn
|
||||
#define S_PREREQ ns_s_pr
|
||||
#define S_UPDATE ns_s_ud
|
||||
#define S_ADDT ns_s_ar
|
||||
|
||||
#define QUERY ns_o_query
|
||||
#define IQUERY ns_o_iquery
|
||||
#define STATUS ns_o_status
|
||||
#define NS_NOTIFY_OP ns_o_notify
|
||||
#define NS_UPDATE_OP ns_o_update
|
||||
|
||||
#define NOERROR ns_r_noerror
|
||||
#define FORMERR ns_r_formerr
|
||||
#define SERVFAIL ns_r_servfail
|
||||
#define NXDOMAIN ns_r_nxdomain
|
||||
#define NOTIMP ns_r_notimpl
|
||||
#define REFUSED ns_r_refused
|
||||
#define YXDOMAIN ns_r_yxdomain
|
||||
#define YXRRSET ns_r_yxrrset
|
||||
#define NXRRSET ns_r_nxrrset
|
||||
#define NOTAUTH ns_r_notauth
|
||||
#define NOTZONE ns_r_notzone
|
||||
|
||||
#define DELETE ns_uop_delete
|
||||
#define ADD ns_uop_add
|
||||
|
||||
#define T_A ns_t_a
|
||||
#define T_NS ns_t_ns
|
||||
#define T_MD ns_t_md
|
||||
#define T_MF ns_t_mf
|
||||
#define T_CNAME ns_t_cname
|
||||
#define T_SOA ns_t_soa
|
||||
#define T_MB ns_t_mb
|
||||
#define T_MG ns_t_mg
|
||||
#define T_MR ns_t_mr
|
||||
#define T_NULL ns_t_null
|
||||
#define T_WKS ns_t_wks
|
||||
#define T_PTR ns_t_ptr
|
||||
#define T_HINFO ns_t_hinfo
|
||||
#define T_MINFO ns_t_minfo
|
||||
#define T_MX ns_t_mx
|
||||
#define T_TXT ns_t_txt
|
||||
#define T_RP ns_t_rp
|
||||
#define T_AFSDB ns_t_afsdb
|
||||
#define T_X25 ns_t_x25
|
||||
#define T_ISDN ns_t_isdn
|
||||
#define T_RT ns_t_rt
|
||||
#define T_NSAP ns_t_nsap
|
||||
#define T_NSAP_PTR ns_t_nsap_ptr
|
||||
#define T_SIG ns_t_sig
|
||||
#define T_KEY ns_t_key
|
||||
#define T_PX ns_t_px
|
||||
#define T_GPOS ns_t_gpos
|
||||
#define T_AAAA ns_t_aaaa
|
||||
#define T_LOC ns_t_loc
|
||||
#define T_NXT ns_t_nxt
|
||||
#define T_EID ns_t_eid
|
||||
#define T_NIMLOC ns_t_nimloc
|
||||
#define T_SRV ns_t_srv
|
||||
#define T_ATMA ns_t_atma
|
||||
#define T_NAPTR ns_t_naptr
|
||||
#define T_A6 ns_t_a6
|
||||
#define T_DNAME ns_t_dname
|
||||
#define T_TSIG ns_t_tsig
|
||||
#define T_IXFR ns_t_ixfr
|
||||
#define T_AXFR ns_t_axfr
|
||||
#define T_MAILB ns_t_mailb
|
||||
#define T_MAILA ns_t_maila
|
||||
#define T_ANY ns_t_any
|
||||
|
||||
#define C_IN ns_c_in
|
||||
#define C_CHAOS ns_c_chaos
|
||||
#define C_HS ns_c_hs
|
||||
#define C_NONE ns_c_none
|
||||
#define C_ANY ns_c_any
|
||||
|
||||
#define GETSHORT NS_GET16
|
||||
#define GETLONG NS_GET32
|
||||
#define PUTSHORT NS_PUT16
|
||||
#define PUTLONG NS_PUT32
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
2
third_party/musl/ndk_musl_include/arpa/nameser_compat.h
vendored
Normal file
2
third_party/musl/ndk_musl_include/arpa/nameser_compat.h
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
#include <arpa/nameser.h>
|
||||
|
251
third_party/musl/ndk_musl_include/arpa/telnet.h
vendored
Normal file
251
third_party/musl/ndk_musl_include/arpa/telnet.h
vendored
Normal file
@ -0,0 +1,251 @@
|
||||
#ifndef _ARPA_TELNET_H
|
||||
#define _ARPA_TELNET_H
|
||||
|
||||
#define IAC 255
|
||||
#define DONT 254
|
||||
#define DO 253
|
||||
#define WONT 252
|
||||
#define WILL 251
|
||||
#define SB 250
|
||||
#define GA 249
|
||||
#define EL 248
|
||||
#define EC 247
|
||||
#define AYT 246
|
||||
#define AO 245
|
||||
#define IP 244
|
||||
#define BREAK 243
|
||||
#define DM 242
|
||||
#define NOP 241
|
||||
#define SE 240
|
||||
#define EOR 239
|
||||
#define ABORT 238
|
||||
#define SUSP 237
|
||||
#define xEOF 236
|
||||
|
||||
#define SYNCH 242
|
||||
|
||||
#define telcmds ((char [][6]){ "EOF", "SUSP", "ABORT", "EOR", "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC", "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", 0 })
|
||||
|
||||
#define TELCMD_FIRST xEOF
|
||||
#define TELCMD_LAST IAC
|
||||
#define TELCMD_OK(x) ((unsigned int)(x) <= TELCMD_LAST && \
|
||||
(unsigned int)(x) >= TELCMD_FIRST)
|
||||
#define TELCMD(x) telcmds[(x)-TELCMD_FIRST]
|
||||
|
||||
#define TELOPT_BINARY 0
|
||||
#define TELOPT_ECHO 1
|
||||
#define TELOPT_RCP 2
|
||||
#define TELOPT_SGA 3
|
||||
#define TELOPT_NAMS 4
|
||||
#define TELOPT_STATUS 5
|
||||
#define TELOPT_TM 6
|
||||
#define TELOPT_RCTE 7
|
||||
#define TELOPT_NAOL 8
|
||||
#define TELOPT_NAOP 9
|
||||
#define TELOPT_NAOCRD 10
|
||||
#define TELOPT_NAOHTS 11
|
||||
#define TELOPT_NAOHTD 12
|
||||
#define TELOPT_NAOFFD 13
|
||||
#define TELOPT_NAOVTS 14
|
||||
#define TELOPT_NAOVTD 15
|
||||
#define TELOPT_NAOLFD 16
|
||||
#define TELOPT_XASCII 17
|
||||
#define TELOPT_LOGOUT 18
|
||||
#define TELOPT_BM 19
|
||||
#define TELOPT_DET 20
|
||||
#define TELOPT_SUPDUP 21
|
||||
#define TELOPT_SUPDUPOUTPUT 22
|
||||
#define TELOPT_SNDLOC 23
|
||||
#define TELOPT_TTYPE 24
|
||||
#define TELOPT_EOR 25
|
||||
#define TELOPT_TUID 26
|
||||
#define TELOPT_OUTMRK 27
|
||||
#define TELOPT_TTYLOC 28
|
||||
#define TELOPT_3270REGIME 29
|
||||
#define TELOPT_X3PAD 30
|
||||
#define TELOPT_NAWS 31
|
||||
#define TELOPT_TSPEED 32
|
||||
#define TELOPT_LFLOW 33
|
||||
#define TELOPT_LINEMODE 34
|
||||
#define TELOPT_XDISPLOC 35
|
||||
#define TELOPT_OLD_ENVIRON 36
|
||||
#define TELOPT_AUTHENTICATION 37/* Authenticate */
|
||||
#define TELOPT_ENCRYPT 38
|
||||
#define TELOPT_NEW_ENVIRON 39
|
||||
#define TELOPT_EXOPL 255
|
||||
|
||||
|
||||
#define NTELOPTS (1+TELOPT_NEW_ENVIRON)
|
||||
#ifdef TELOPTS
|
||||
char *telopts[NTELOPTS+1] = {
|
||||
"BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME",
|
||||
"STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP",
|
||||
"NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS",
|
||||
"NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO",
|
||||
"DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT",
|
||||
"SEND LOCATION", "TERMINAL TYPE", "END OF RECORD",
|
||||
"TACACS UID", "OUTPUT MARKING", "TTYLOC",
|
||||
"3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW",
|
||||
"LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION",
|
||||
"ENCRYPT", "NEW-ENVIRON",
|
||||
0,
|
||||
};
|
||||
#define TELOPT_FIRST TELOPT_BINARY
|
||||
#define TELOPT_LAST TELOPT_NEW_ENVIRON
|
||||
#define TELOPT_OK(x) ((unsigned int)(x) <= TELOPT_LAST)
|
||||
#define TELOPT(x) telopts[(x)-TELOPT_FIRST]
|
||||
#endif
|
||||
|
||||
#define TELQUAL_IS 0
|
||||
#define TELQUAL_SEND 1
|
||||
#define TELQUAL_INFO 2
|
||||
#define TELQUAL_REPLY 2
|
||||
#define TELQUAL_NAME 3
|
||||
|
||||
#define LFLOW_OFF 0
|
||||
#define LFLOW_ON 1
|
||||
#define LFLOW_RESTART_ANY 2
|
||||
#define LFLOW_RESTART_XON 3
|
||||
|
||||
|
||||
#define LM_MODE 1
|
||||
#define LM_FORWARDMASK 2
|
||||
#define LM_SLC 3
|
||||
|
||||
#define MODE_EDIT 0x01
|
||||
#define MODE_TRAPSIG 0x02
|
||||
#define MODE_ACK 0x04
|
||||
#define MODE_SOFT_TAB 0x08
|
||||
#define MODE_LIT_ECHO 0x10
|
||||
|
||||
#define MODE_MASK 0x1f
|
||||
|
||||
#define MODE_FLOW 0x0100
|
||||
#define MODE_ECHO 0x0200
|
||||
#define MODE_INBIN 0x0400
|
||||
#define MODE_OUTBIN 0x0800
|
||||
#define MODE_FORCE 0x1000
|
||||
|
||||
#define SLC_SYNCH 1
|
||||
#define SLC_BRK 2
|
||||
#define SLC_IP 3
|
||||
#define SLC_AO 4
|
||||
#define SLC_AYT 5
|
||||
#define SLC_EOR 6
|
||||
#define SLC_ABORT 7
|
||||
#define SLC_EOF 8
|
||||
#define SLC_SUSP 9
|
||||
#define SLC_EC 10
|
||||
#define SLC_EL 11
|
||||
#define SLC_EW 12
|
||||
#define SLC_RP 13
|
||||
#define SLC_LNEXT 14
|
||||
#define SLC_XON 15
|
||||
#define SLC_XOFF 16
|
||||
#define SLC_FORW1 17
|
||||
#define SLC_FORW2 18
|
||||
|
||||
#define NSLC 18
|
||||
|
||||
#define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \
|
||||
"ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \
|
||||
"LNEXT", "XON", "XOFF", "FORW1", "FORW2", 0,
|
||||
#ifdef SLC_NAMES
|
||||
char *slc_names[] = {
|
||||
SLC_NAMELIST
|
||||
};
|
||||
#else
|
||||
extern char *slc_names[];
|
||||
#define SLC_NAMES SLC_NAMELIST
|
||||
#endif
|
||||
|
||||
#define SLC_NAME_OK(x) ((unsigned int)(x) <= NSLC)
|
||||
#define SLC_NAME(x) slc_names[x]
|
||||
|
||||
#define SLC_NOSUPPORT 0
|
||||
#define SLC_CANTCHANGE 1
|
||||
#define SLC_VARIABLE 2
|
||||
#define SLC_DEFAULT 3
|
||||
#define SLC_LEVELBITS 0x03
|
||||
|
||||
#define SLC_FUNC 0
|
||||
#define SLC_FLAGS 1
|
||||
#define SLC_VALUE 2
|
||||
|
||||
#define SLC_ACK 0x80
|
||||
#define SLC_FLUSHIN 0x40
|
||||
#define SLC_FLUSHOUT 0x20
|
||||
|
||||
#define OLD_ENV_VAR 1
|
||||
#define OLD_ENV_VALUE 0
|
||||
#define NEW_ENV_VAR 0
|
||||
#define NEW_ENV_VALUE 1
|
||||
#define ENV_ESC 2
|
||||
#define ENV_USERVAR 3
|
||||
|
||||
#define AUTH_WHO_CLIENT 0
|
||||
#define AUTH_WHO_SERVER 1
|
||||
#define AUTH_WHO_MASK 1
|
||||
|
||||
#define AUTH_HOW_ONE_WAY 0
|
||||
#define AUTH_HOW_MUTUAL 2
|
||||
#define AUTH_HOW_MASK 2
|
||||
|
||||
#define AUTHTYPE_NULL 0
|
||||
#define AUTHTYPE_KERBEROS_V4 1
|
||||
#define AUTHTYPE_KERBEROS_V5 2
|
||||
#define AUTHTYPE_SPX 3
|
||||
#define AUTHTYPE_MINK 4
|
||||
#define AUTHTYPE_CNT 5
|
||||
|
||||
#define AUTHTYPE_TEST 99
|
||||
|
||||
#ifdef AUTH_NAMES
|
||||
char *authtype_names[] = {
|
||||
"NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK", 0,
|
||||
};
|
||||
#else
|
||||
extern char *authtype_names[];
|
||||
#endif
|
||||
|
||||
#define AUTHTYPE_NAME_OK(x) ((unsigned int)(x) < AUTHTYPE_CNT)
|
||||
#define AUTHTYPE_NAME(x) authtype_names[x]
|
||||
|
||||
#define ENCRYPT_IS 0
|
||||
#define ENCRYPT_SUPPORT 1
|
||||
#define ENCRYPT_REPLY 2
|
||||
#define ENCRYPT_START 3
|
||||
#define ENCRYPT_END 4
|
||||
#define ENCRYPT_REQSTART 5
|
||||
#define ENCRYPT_REQEND 6
|
||||
#define ENCRYPT_ENC_KEYID 7
|
||||
#define ENCRYPT_DEC_KEYID 8
|
||||
#define ENCRYPT_CNT 9
|
||||
|
||||
#define ENCTYPE_ANY 0
|
||||
#define ENCTYPE_DES_CFB64 1
|
||||
#define ENCTYPE_DES_OFB64 2
|
||||
#define ENCTYPE_CNT 3
|
||||
|
||||
#ifdef ENCRYPT_NAMES
|
||||
char *encrypt_names[] = {
|
||||
"IS", "SUPPORT", "REPLY", "START", "END",
|
||||
"REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID",
|
||||
0,
|
||||
};
|
||||
char *enctype_names[] = {
|
||||
"ANY", "DES_CFB64", "DES_OFB64", 0,
|
||||
};
|
||||
#else
|
||||
extern char *encrypt_names[];
|
||||
extern char *enctype_names[];
|
||||
#endif
|
||||
|
||||
|
||||
#define ENCRYPT_NAME_OK(x) ((unsigned int)(x) < ENCRYPT_CNT)
|
||||
#define ENCRYPT_NAME(x) encrypt_names[x]
|
||||
|
||||
#define ENCTYPE_NAME_OK(x) ((unsigned int)(x) < ENCTYPE_CNT)
|
||||
#define ENCTYPE_NAME(x) enctype_names[x]
|
||||
|
||||
#endif
|
31
third_party/musl/ndk_musl_include/arpa/tftp.h
vendored
Normal file
31
third_party/musl/ndk_musl_include/arpa/tftp.h
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef _ARPA_TFTP_H
|
||||
#define _ARPA_TFTP_H
|
||||
#define SEGSIZE 512
|
||||
#define RRQ 01
|
||||
#define WRQ 02
|
||||
#define DATA 03
|
||||
#define ACK 04
|
||||
#define ERROR 05
|
||||
struct tftphdr {
|
||||
short th_opcode;
|
||||
union {
|
||||
unsigned short tu_block;
|
||||
short tu_code;
|
||||
char tu_stuff[1];
|
||||
} th_u;
|
||||
char th_data[1];
|
||||
};
|
||||
#define th_block th_u.tu_block
|
||||
#define th_code th_u.tu_code
|
||||
#define th_stuff th_u.tu_stuff
|
||||
#define th_msg th_data
|
||||
#define EUNDEF 0
|
||||
#define ENOTFOUND 1
|
||||
#define EACCESS 2
|
||||
#define ENOSPACE 3
|
||||
#define EBADOP 4
|
||||
#define EBADID 5
|
||||
#define EEXISTS 6
|
||||
#define ENOUSER 7
|
||||
#endif
|
||||
|
23
third_party/musl/ndk_musl_include/assert.h
vendored
Normal file
23
third_party/musl/ndk_musl_include/assert.h
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
#include <features.h>
|
||||
|
||||
#undef assert
|
||||
|
||||
#ifdef NDEBUG
|
||||
#define assert(x) (void)0
|
||||
#else
|
||||
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
|
||||
#endif
|
||||
|
||||
#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
|
||||
#define static_assert _Static_assert
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
_Noreturn void __assert_fail (const char *, const char *, int, const char *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
26
third_party/musl/ndk_musl_include/byteswap.h
vendored
Normal file
26
third_party/musl/ndk_musl_include/byteswap.h
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
#ifndef _BYTESWAP_H
|
||||
#define _BYTESWAP_H
|
||||
|
||||
#include <features.h>
|
||||
#include <stdint.h>
|
||||
|
||||
static __inline uint16_t __bswap_16(uint16_t __x)
|
||||
{
|
||||
return __x<<8 | __x>>8;
|
||||
}
|
||||
|
||||
static __inline uint32_t __bswap_32(uint32_t __x)
|
||||
{
|
||||
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
|
||||
}
|
||||
|
||||
static __inline uint64_t __bswap_64(uint64_t __x)
|
||||
{
|
||||
return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32);
|
||||
}
|
||||
|
||||
#define bswap_16(x) __bswap_16(x)
|
||||
#define bswap_32(x) __bswap_32(x)
|
||||
#define bswap_64(x) __bswap_64(x)
|
||||
|
||||
#endif
|
133
third_party/musl/ndk_musl_include/complex.h
vendored
Normal file
133
third_party/musl/ndk_musl_include/complex.h
vendored
Normal file
@ -0,0 +1,133 @@
|
||||
#ifndef _COMPLEX_H
|
||||
#define _COMPLEX_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define complex _Complex
|
||||
#ifdef __GNUC__
|
||||
#define _Complex_I (__extension__ (0.0f+1.0fi))
|
||||
#else
|
||||
#define _Complex_I (0.0f+1.0fi)
|
||||
#endif
|
||||
#define I _Complex_I
|
||||
|
||||
double complex cacos(double complex);
|
||||
float complex cacosf(float complex);
|
||||
long double complex cacosl(long double complex);
|
||||
|
||||
double complex casin(double complex);
|
||||
float complex casinf(float complex);
|
||||
long double complex casinl(long double complex);
|
||||
|
||||
double complex catan(double complex);
|
||||
float complex catanf(float complex);
|
||||
long double complex catanl(long double complex);
|
||||
|
||||
double complex ccos(double complex);
|
||||
float complex ccosf(float complex);
|
||||
long double complex ccosl(long double complex);
|
||||
|
||||
double complex csin(double complex);
|
||||
float complex csinf(float complex);
|
||||
long double complex csinl(long double complex);
|
||||
|
||||
double complex ctan(double complex);
|
||||
float complex ctanf(float complex);
|
||||
long double complex ctanl(long double complex);
|
||||
|
||||
double complex cacosh(double complex);
|
||||
float complex cacoshf(float complex);
|
||||
long double complex cacoshl(long double complex);
|
||||
|
||||
double complex casinh(double complex);
|
||||
float complex casinhf(float complex);
|
||||
long double complex casinhl(long double complex);
|
||||
|
||||
double complex catanh(double complex);
|
||||
float complex catanhf(float complex);
|
||||
long double complex catanhl(long double complex);
|
||||
|
||||
double complex ccosh(double complex);
|
||||
float complex ccoshf(float complex);
|
||||
long double complex ccoshl(long double complex);
|
||||
|
||||
double complex csinh(double complex);
|
||||
float complex csinhf(float complex);
|
||||
long double complex csinhl(long double complex);
|
||||
|
||||
double complex ctanh(double complex);
|
||||
float complex ctanhf(float complex);
|
||||
long double complex ctanhl(long double complex);
|
||||
|
||||
double complex cexp(double complex);
|
||||
float complex cexpf(float complex);
|
||||
long double complex cexpl(long double complex);
|
||||
|
||||
double complex clog(double complex);
|
||||
float complex clogf(float complex);
|
||||
long double complex clogl(long double complex);
|
||||
|
||||
double cabs(double complex);
|
||||
float cabsf(float complex);
|
||||
long double cabsl(long double complex);
|
||||
|
||||
double complex cpow(double complex, double complex);
|
||||
float complex cpowf(float complex, float complex);
|
||||
long double complex cpowl(long double complex, long double complex);
|
||||
|
||||
double complex csqrt(double complex);
|
||||
float complex csqrtf(float complex);
|
||||
long double complex csqrtl(long double complex);
|
||||
|
||||
double carg(double complex);
|
||||
float cargf(float complex);
|
||||
long double cargl(long double complex);
|
||||
|
||||
double cimag(double complex);
|
||||
float cimagf(float complex);
|
||||
long double cimagl(long double complex);
|
||||
|
||||
double complex conj(double complex);
|
||||
float complex conjf(float complex);
|
||||
long double complex conjl(long double complex);
|
||||
|
||||
double complex cproj(double complex);
|
||||
float complex cprojf(float complex);
|
||||
long double complex cprojl(long double complex);
|
||||
|
||||
double creal(double complex);
|
||||
float crealf(float complex);
|
||||
long double creall(long double complex);
|
||||
|
||||
#ifndef __cplusplus
|
||||
#define __CIMAG(x, t) \
|
||||
(+(union { _Complex t __z; t __xy[2]; }){(_Complex t)(x)}.__xy[1])
|
||||
|
||||
#define creal(x) ((double)(x))
|
||||
#define crealf(x) ((float)(x))
|
||||
#define creall(x) ((long double)(x))
|
||||
|
||||
#define cimag(x) __CIMAG(x, double)
|
||||
#define cimagf(x) __CIMAG(x, float)
|
||||
#define cimagl(x) __CIMAG(x, long double)
|
||||
#endif
|
||||
|
||||
#if __STDC_VERSION__ >= 201112L
|
||||
#if defined(_Imaginary_I)
|
||||
#define __CMPLX(x, y, t) ((t)(x) + _Imaginary_I*(t)(y))
|
||||
#elif defined(__clang__)
|
||||
#define __CMPLX(x, y, t) (+(_Complex t){ (t)(x), (t)(y) })
|
||||
#else
|
||||
#define __CMPLX(x, y, t) (__builtin_complex((t)(x), (t)(y)))
|
||||
#endif
|
||||
#define CMPLX(x, y) __CMPLX(x, y, double)
|
||||
#define CMPLXF(x, y) __CMPLX(x, y, float)
|
||||
#define CMPLXL(x, y) __CMPLX(x, y, long double)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
29
third_party/musl/ndk_musl_include/cpio.h
vendored
Normal file
29
third_party/musl/ndk_musl_include/cpio.h
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
#ifndef _CPIO_H
|
||||
#define _CPIO_H
|
||||
|
||||
#define MAGIC "070707"
|
||||
|
||||
#define C_IRUSR 000400
|
||||
#define C_IWUSR 000200
|
||||
#define C_IXUSR 000100
|
||||
#define C_IRGRP 000040
|
||||
#define C_IWGRP 000020
|
||||
#define C_IXGRP 000010
|
||||
#define C_IROTH 000004
|
||||
#define C_IWOTH 000002
|
||||
#define C_IXOTH 000001
|
||||
|
||||
#define C_ISUID 004000
|
||||
#define C_ISGID 002000
|
||||
#define C_ISVTX 001000
|
||||
|
||||
#define C_ISBLK 060000
|
||||
#define C_ISCHR 020000
|
||||
#define C_ISDIR 040000
|
||||
#define C_ISFIFO 010000
|
||||
#define C_ISSOCK 0140000
|
||||
#define C_ISLNK 0120000
|
||||
#define C_ISCTG 0110000
|
||||
#define C_ISREG 0100000
|
||||
|
||||
#endif
|
17
third_party/musl/ndk_musl_include/crypt.h
vendored
Normal file
17
third_party/musl/ndk_musl_include/crypt.h
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
#ifndef _CRYPT_H
|
||||
#define _CRYPT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct crypt_data {
|
||||
int initialized;
|
||||
char __buf[256];
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
77
third_party/musl/ndk_musl_include/ctype.h
vendored
Normal file
77
third_party/musl/ndk_musl_include/ctype.h
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
#ifndef _CTYPE_H
|
||||
#define _CTYPE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
int isalnum(int);
|
||||
int isalpha(int);
|
||||
int isblank(int);
|
||||
int iscntrl(int);
|
||||
int isdigit(int);
|
||||
int isgraph(int);
|
||||
int islower(int);
|
||||
int isprint(int);
|
||||
int ispunct(int);
|
||||
int isspace(int);
|
||||
int isupper(int);
|
||||
int isxdigit(int);
|
||||
int tolower(int);
|
||||
int toupper(int);
|
||||
|
||||
#ifndef __cplusplus
|
||||
static __inline int __isspace(int _c)
|
||||
{
|
||||
return _c == ' ' || (unsigned)_c-'\t' < 5;
|
||||
}
|
||||
|
||||
#define isalpha(a) (0 ? isalpha(a) : (((unsigned)(a)|32)-'a') < 26)
|
||||
#define isdigit(a) (0 ? isdigit(a) : ((unsigned)(a)-'0') < 10)
|
||||
#define islower(a) (0 ? islower(a) : ((unsigned)(a)-'a') < 26)
|
||||
#define isupper(a) (0 ? isupper(a) : ((unsigned)(a)-'A') < 26)
|
||||
#define isprint(a) (0 ? isprint(a) : ((unsigned)(a)-0x20) < 0x5f)
|
||||
#define isgraph(a) (0 ? isgraph(a) : ((unsigned)(a)-0x21) < 0x5e)
|
||||
#define isspace(a) __isspace(a)
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|
||||
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
|
||||
|| defined(_BSD_SOURCE)
|
||||
|
||||
#define __NEED_locale_t
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
int isalnum_l(int, locale_t);
|
||||
int isalpha_l(int, locale_t);
|
||||
int isblank_l(int, locale_t);
|
||||
int iscntrl_l(int, locale_t);
|
||||
int isdigit_l(int, locale_t);
|
||||
int isgraph_l(int, locale_t);
|
||||
int islower_l(int, locale_t);
|
||||
int isprint_l(int, locale_t);
|
||||
int ispunct_l(int, locale_t);
|
||||
int isspace_l(int, locale_t);
|
||||
int isupper_l(int, locale_t);
|
||||
int isxdigit_l(int, locale_t);
|
||||
int tolower_l(int, locale_t);
|
||||
int toupper_l(int, locale_t);
|
||||
|
||||
int isascii(int);
|
||||
int toascii(int);
|
||||
#define _tolower(a) ((a)|0x20)
|
||||
#define _toupper(a) ((a)&0x5f)
|
||||
#define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128)
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
70
third_party/musl/ndk_musl_include/dirent.h
vendored
Normal file
70
third_party/musl/ndk_musl_include/dirent.h
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
#ifndef _DIRENT_H
|
||||
#define _DIRENT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_ino_t
|
||||
#define __NEED_off_t
|
||||
#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
|
||||
#define __NEED_size_t
|
||||
#endif
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#include <bits/dirent.h>
|
||||
|
||||
typedef struct __dirstream DIR;
|
||||
|
||||
#define d_fileno d_ino
|
||||
|
||||
int closedir(DIR *);
|
||||
DIR *fdopendir(int);
|
||||
DIR *opendir(const char *);
|
||||
struct dirent *readdir(DIR *);
|
||||
int readdir_r(DIR *__restrict, struct dirent *__restrict, struct dirent **__restrict);
|
||||
void rewinddir(DIR *);
|
||||
int dirfd(DIR *);
|
||||
|
||||
int alphasort(const struct dirent **, const struct dirent **);
|
||||
int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **));
|
||||
|
||||
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
void seekdir(DIR *, long);
|
||||
long telldir(DIR *);
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#define DT_UNKNOWN 0
|
||||
#define DT_FIFO 1
|
||||
#define DT_CHR 2
|
||||
#define DT_DIR 4
|
||||
#define DT_BLK 6
|
||||
#define DT_REG 8
|
||||
#define DT_LNK 10
|
||||
#define DT_SOCK 12
|
||||
#define DT_WHT 14
|
||||
#define IFTODT(x) ((x)>>12 & 017)
|
||||
#define DTTOIF(x) ((x)<<12)
|
||||
int getdents(int, struct dirent *, size_t);
|
||||
#endif
|
||||
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
#define dirent64 dirent
|
||||
#define readdir64 readdir
|
||||
#define readdir64_r readdir_r
|
||||
#define scandir64 scandir
|
||||
#define alphasort64 alphasort
|
||||
#define off64_t off_t
|
||||
#define ino64_t ino_t
|
||||
#define getdents64 getdents
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
52
third_party/musl/ndk_musl_include/dlfcn.h
vendored
Normal file
52
third_party/musl/ndk_musl_include/dlfcn.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
#ifndef _DLFCN_H
|
||||
#define _DLFCN_H
|
||||
|
||||
#include <features.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define RTLD_LAZY 1
|
||||
#define RTLD_NOW 2
|
||||
#define RTLD_NOLOAD 4
|
||||
#define RTLD_NODELETE 4096
|
||||
#define RTLD_GLOBAL 256
|
||||
#define RTLD_LOCAL 0
|
||||
|
||||
#define RTLD_NEXT ((void *)-1)
|
||||
#define RTLD_DEFAULT ((void *)0)
|
||||
|
||||
#define RTLD_DI_LINKMAP 2
|
||||
|
||||
int dlclose(void *);
|
||||
char *dlerror(void);
|
||||
void *dlopen(const char *, int);
|
||||
void *dlsym(void *__restrict, const char *__restrict);
|
||||
|
||||
/* namespace apis */
|
||||
#define NS_NAME_MAX 255
|
||||
typedef struct {
|
||||
char name[NS_NAME_MAX+1];
|
||||
} Dl_namespace;
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
typedef struct {
|
||||
const char *dli_fname;
|
||||
void *dli_fbase;
|
||||
const char *dli_sname;
|
||||
void *dli_saddr;
|
||||
} Dl_info;
|
||||
int dladdr(const void *, Dl_info *);
|
||||
#endif
|
||||
|
||||
#if _REDIR_TIME64
|
||||
__REDIR(dlsym, __dlsym_time64);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
3292
third_party/musl/ndk_musl_include/elf.h
vendored
Normal file
3292
third_party/musl/ndk_musl_include/elf.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
80
third_party/musl/ndk_musl_include/endian.h
vendored
Normal file
80
third_party/musl/ndk_musl_include/endian.h
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
#ifndef _ENDIAN_H
|
||||
#define _ENDIAN_H
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_uint16_t
|
||||
#define __NEED_uint32_t
|
||||
#define __NEED_uint64_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#define __PDP_ENDIAN 3412
|
||||
|
||||
#define BIG_ENDIAN __BIG_ENDIAN
|
||||
#define LITTLE_ENDIAN __LITTLE_ENDIAN
|
||||
#define PDP_ENDIAN __PDP_ENDIAN
|
||||
#define BYTE_ORDER __BYTE_ORDER
|
||||
|
||||
static __inline uint16_t __bswap16(uint16_t __x)
|
||||
{
|
||||
return __x<<8 | __x>>8;
|
||||
}
|
||||
|
||||
static __inline uint32_t __bswap32(uint32_t __x)
|
||||
{
|
||||
return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24;
|
||||
}
|
||||
|
||||
static __inline uint64_t __bswap64(uint64_t __x)
|
||||
{
|
||||
return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32);
|
||||
}
|
||||
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
#define htobe16(x) __bswap16(x)
|
||||
#define be16toh(x) __bswap16(x)
|
||||
#define htobe32(x) __bswap32(x)
|
||||
#define be32toh(x) __bswap32(x)
|
||||
#define htobe64(x) __bswap64(x)
|
||||
#define be64toh(x) __bswap64(x)
|
||||
#define htole16(x) (uint16_t)(x)
|
||||
#define le16toh(x) (uint16_t)(x)
|
||||
#define htole32(x) (uint32_t)(x)
|
||||
#define le32toh(x) (uint32_t)(x)
|
||||
#define htole64(x) (uint64_t)(x)
|
||||
#define le64toh(x) (uint64_t)(x)
|
||||
#else
|
||||
#define htobe16(x) (uint16_t)(x)
|
||||
#define be16toh(x) (uint16_t)(x)
|
||||
#define htobe32(x) (uint32_t)(x)
|
||||
#define be32toh(x) (uint32_t)(x)
|
||||
#define htobe64(x) (uint64_t)(x)
|
||||
#define be64toh(x) (uint64_t)(x)
|
||||
#define htole16(x) __bswap16(x)
|
||||
#define le16toh(x) __bswap16(x)
|
||||
#define htole32(x) __bswap32(x)
|
||||
#define le32toh(x) __bswap32(x)
|
||||
#define htole64(x) __bswap64(x)
|
||||
#define le64toh(x) __bswap64(x)
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
#define betoh16(x) __bswap16(x)
|
||||
#define betoh32(x) __bswap32(x)
|
||||
#define betoh64(x) __bswap64(x)
|
||||
#define letoh16(x) (uint16_t)(x)
|
||||
#define letoh32(x) (uint32_t)(x)
|
||||
#define letoh64(x) (uint64_t)(x)
|
||||
#else
|
||||
#define betoh16(x) (uint16_t)(x)
|
||||
#define betoh32(x) (uint32_t)(x)
|
||||
#define betoh64(x) (uint64_t)(x)
|
||||
#define letoh16(x) __bswap16(x)
|
||||
#define letoh32(x) __bswap32(x)
|
||||
#define letoh64(x) __bswap64(x)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
25
third_party/musl/ndk_musl_include/err.h
vendored
Normal file
25
third_party/musl/ndk_musl_include/err.h
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef _ERR_H
|
||||
#define _ERR_H
|
||||
|
||||
#include <features.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void warn(const char *, ...);
|
||||
void vwarn(const char *, va_list);
|
||||
void warnx(const char *, ...);
|
||||
void vwarnx(const char *, va_list);
|
||||
|
||||
_Noreturn void err(int, const char *, ...);
|
||||
_Noreturn void verr(int, const char *, va_list);
|
||||
_Noreturn void errx(int, const char *, ...);
|
||||
_Noreturn void verrx(int, const char *, va_list);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
27
third_party/musl/ndk_musl_include/errno.h
vendored
Normal file
27
third_party/musl/ndk_musl_include/errno.h
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef _ERRNO_H
|
||||
#define _ERRNO_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#include <bits/errno.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
__attribute__((const))
|
||||
#endif
|
||||
int *__errno_location(void);
|
||||
#define errno (*__errno_location())
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
extern char *program_invocation_short_name, *program_invocation_name;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
217
third_party/musl/ndk_musl_include/fcntl.h
vendored
Normal file
217
third_party/musl/ndk_musl_include/fcntl.h
vendored
Normal file
@ -0,0 +1,217 @@
|
||||
#ifndef _FCNTL_H
|
||||
#define _FCNTL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_off_t
|
||||
#define __NEED_pid_t
|
||||
#define __NEED_mode_t
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define __NEED_size_t
|
||||
#define __NEED_ssize_t
|
||||
#define __NEED_struct_iovec
|
||||
#endif
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#include <bits/fcntl.h>
|
||||
#include <fortify/fcntl.h>
|
||||
|
||||
struct flock {
|
||||
short l_type;
|
||||
short l_whence;
|
||||
off_t l_start;
|
||||
off_t l_len;
|
||||
pid_t l_pid;
|
||||
};
|
||||
|
||||
int creat(const char *, mode_t);
|
||||
int fcntl(int, int, ...);
|
||||
int open(const char *, int, ...);
|
||||
int openat(int, const char *, int, ...);
|
||||
int posix_fadvise(int, off_t, off_t, int);
|
||||
int posix_fallocate(int, off_t, off_t);
|
||||
|
||||
#define O_SEARCH O_PATH
|
||||
#define O_EXEC O_PATH
|
||||
#define O_TTY_INIT 0
|
||||
|
||||
#define O_ACCMODE (03|O_SEARCH)
|
||||
#define O_RDONLY 00
|
||||
#define O_WRONLY 01
|
||||
#define O_RDWR 02
|
||||
|
||||
#define F_OFD_GETLK 36
|
||||
#define F_OFD_SETLK 37
|
||||
#define F_OFD_SETLKW 38
|
||||
|
||||
#define F_DUPFD_CLOEXEC 1030
|
||||
|
||||
#define F_RDLCK 0
|
||||
#define F_WRLCK 1
|
||||
#define F_UNLCK 2
|
||||
|
||||
#define FD_CLOEXEC 1
|
||||
|
||||
#define AT_FDCWD (-100)
|
||||
#define AT_SYMLINK_NOFOLLOW 0x100
|
||||
#define AT_REMOVEDIR 0x200
|
||||
#define AT_SYMLINK_FOLLOW 0x400
|
||||
#define AT_EACCESS 0x200
|
||||
|
||||
#define POSIX_FADV_NORMAL 0
|
||||
#define POSIX_FADV_RANDOM 1
|
||||
#define POSIX_FADV_SEQUENTIAL 2
|
||||
#define POSIX_FADV_WILLNEED 3
|
||||
#ifndef POSIX_FADV_DONTNEED
|
||||
#define POSIX_FADV_DONTNEED 4
|
||||
#define POSIX_FADV_NOREUSE 5
|
||||
#endif
|
||||
|
||||
#undef SEEK_SET
|
||||
#undef SEEK_CUR
|
||||
#undef SEEK_END
|
||||
#define SEEK_SET 0
|
||||
#define SEEK_CUR 1
|
||||
#define SEEK_END 2
|
||||
|
||||
#ifndef S_IRUSR
|
||||
#define S_ISUID 04000
|
||||
#define S_ISGID 02000
|
||||
#define S_ISVTX 01000
|
||||
#define S_IRUSR 0400
|
||||
#define S_IWUSR 0200
|
||||
#define S_IXUSR 0100
|
||||
#define S_IRWXU 0700
|
||||
#define S_IRGRP 0040
|
||||
#define S_IWGRP 0020
|
||||
#define S_IXGRP 0010
|
||||
#define S_IRWXG 0070
|
||||
#define S_IROTH 0004
|
||||
#define S_IWOTH 0002
|
||||
#define S_IXOTH 0001
|
||||
#define S_IRWXO 0007
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#define AT_NO_AUTOMOUNT 0x800
|
||||
#define AT_EMPTY_PATH 0x1000
|
||||
#define AT_STATX_SYNC_TYPE 0x6000
|
||||
#define AT_STATX_SYNC_AS_STAT 0x0000
|
||||
#define AT_STATX_FORCE_SYNC 0x2000
|
||||
#define AT_STATX_DONT_SYNC 0x4000
|
||||
#define AT_RECURSIVE 0x8000
|
||||
|
||||
#define FAPPEND O_APPEND
|
||||
#define FFSYNC O_SYNC
|
||||
#define FASYNC O_ASYNC
|
||||
#define FNONBLOCK O_NONBLOCK
|
||||
#define FNDELAY O_NDELAY
|
||||
|
||||
#define F_OK 0
|
||||
#define R_OK 4
|
||||
#define W_OK 2
|
||||
#define X_OK 1
|
||||
#define F_ULOCK 0
|
||||
#define F_LOCK 1
|
||||
#define F_TLOCK 2
|
||||
#define F_TEST 3
|
||||
|
||||
#define F_SETLEASE 1024
|
||||
#define F_GETLEASE 1025
|
||||
#define F_NOTIFY 1026
|
||||
#define F_CANCELLK 1029
|
||||
#define F_SETPIPE_SZ 1031
|
||||
#define F_GETPIPE_SZ 1032
|
||||
#define F_ADD_SEALS 1033
|
||||
#define F_GET_SEALS 1034
|
||||
|
||||
#define F_SEAL_SEAL 0x0001
|
||||
#define F_SEAL_SHRINK 0x0002
|
||||
#define F_SEAL_GROW 0x0004
|
||||
#define F_SEAL_WRITE 0x0008
|
||||
#define F_SEAL_FUTURE_WRITE 0x0010
|
||||
|
||||
#define F_GET_RW_HINT 1035
|
||||
#define F_SET_RW_HINT 1036
|
||||
#define F_GET_FILE_RW_HINT 1037
|
||||
#define F_SET_FILE_RW_HINT 1038
|
||||
|
||||
#define RWF_WRITE_LIFE_NOT_SET 0
|
||||
#define RWH_WRITE_LIFE_NONE 1
|
||||
#define RWH_WRITE_LIFE_SHORT 2
|
||||
#define RWH_WRITE_LIFE_MEDIUM 3
|
||||
#define RWH_WRITE_LIFE_LONG 4
|
||||
#define RWH_WRITE_LIFE_EXTREME 5
|
||||
|
||||
#define DN_ACCESS 0x00000001
|
||||
#define DN_MODIFY 0x00000002
|
||||
#define DN_CREATE 0x00000004
|
||||
#define DN_DELETE 0x00000008
|
||||
#define DN_RENAME 0x00000010
|
||||
#define DN_ATTRIB 0x00000020
|
||||
#define DN_MULTISHOT 0x80000000
|
||||
|
||||
int lockf(int, int, off_t);
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE)
|
||||
#define F_OWNER_TID 0
|
||||
#define F_OWNER_PID 1
|
||||
#define F_OWNER_PGRP 2
|
||||
#define F_OWNER_GID 2
|
||||
struct file_handle {
|
||||
unsigned handle_bytes;
|
||||
int handle_type;
|
||||
unsigned char f_handle[];
|
||||
};
|
||||
struct f_owner_ex {
|
||||
int type;
|
||||
pid_t pid;
|
||||
};
|
||||
#define FALLOC_FL_KEEP_SIZE 1
|
||||
#define FALLOC_FL_PUNCH_HOLE 2
|
||||
#define MAX_HANDLE_SZ 128
|
||||
#define SYNC_FILE_RANGE_WAIT_BEFORE 1
|
||||
#define SYNC_FILE_RANGE_WRITE 2
|
||||
#define SYNC_FILE_RANGE_WAIT_AFTER 4
|
||||
#define SPLICE_F_MOVE 1
|
||||
#define SPLICE_F_NONBLOCK 2
|
||||
#define SPLICE_F_MORE 4
|
||||
#define SPLICE_F_GIFT 8
|
||||
int fallocate(int, int, off_t, off_t);
|
||||
#define fallocate64 fallocate
|
||||
int name_to_handle_at(int, const char *, struct file_handle *, int *, int);
|
||||
int open_by_handle_at(int, struct file_handle *, int);
|
||||
ssize_t readahead(int, off_t, size_t);
|
||||
int sync_file_range(int, off_t, off_t, unsigned);
|
||||
ssize_t vmsplice(int, const struct iovec *, size_t, unsigned);
|
||||
ssize_t splice(int, off_t *, int, off_t *, size_t, unsigned);
|
||||
ssize_t tee(int, int, size_t, unsigned);
|
||||
#define loff_t off_t
|
||||
#endif
|
||||
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
#define F_GETLK64 F_GETLK
|
||||
#define F_SETLK64 F_SETLK
|
||||
#define F_SETLKW64 F_SETLKW
|
||||
#define flock64 flock
|
||||
#define open64 open
|
||||
#define openat64 openat
|
||||
#define creat64 creat
|
||||
#define lockf64 lockf
|
||||
#define posix_fadvise64 posix_fadvise
|
||||
#define posix_fallocate64 posix_fallocate
|
||||
#define off64_t off_t
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
40
third_party/musl/ndk_musl_include/features.h
vendored
Normal file
40
third_party/musl/ndk_musl_include/features.h
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
#ifndef _FEATURES_H
|
||||
#define _FEATURES_H
|
||||
|
||||
#if defined(_ALL_SOURCE) && !defined(_GNU_SOURCE)
|
||||
#define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#if defined(_DEFAULT_SOURCE) && !defined(_BSD_SOURCE)
|
||||
#define _BSD_SOURCE 1
|
||||
#endif
|
||||
|
||||
#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) \
|
||||
&& !defined(_XOPEN_SOURCE) && !defined(_GNU_SOURCE) \
|
||||
&& !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__)
|
||||
#define _BSD_SOURCE 1
|
||||
#define _XOPEN_SOURCE 700
|
||||
#endif
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
#define __restrict restrict
|
||||
#elif !defined(__GNUC__)
|
||||
#define __restrict
|
||||
#endif
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
|
||||
#define __inline inline
|
||||
#elif !defined(__GNUC__)
|
||||
#define __inline
|
||||
#endif
|
||||
|
||||
#if __STDC_VERSION__ >= 201112L
|
||||
#elif defined(__GNUC__)
|
||||
#define _Noreturn __attribute__((__noreturn__))
|
||||
#else
|
||||
#define _Noreturn
|
||||
#endif
|
||||
|
||||
#define __REDIR(x,y) __typeof__(x) x __asm__(#y)
|
||||
|
||||
#endif
|
28
third_party/musl/ndk_musl_include/fenv.h
vendored
Normal file
28
third_party/musl/ndk_musl_include/fenv.h
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
#ifndef _FENV_H
|
||||
#define _FENV_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <bits/fenv.h>
|
||||
|
||||
int feclearexcept(int);
|
||||
int fegetexceptflag(fexcept_t *, int);
|
||||
int feraiseexcept(int);
|
||||
int fesetexceptflag(const fexcept_t *, int);
|
||||
int fetestexcept(int);
|
||||
|
||||
int fegetround(void);
|
||||
int fesetround(int);
|
||||
|
||||
int fegetenv(fenv_t *);
|
||||
int feholdexcept(fenv_t *);
|
||||
int fesetenv(const fenv_t *);
|
||||
int feupdateenv(const fenv_t *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
52
third_party/musl/ndk_musl_include/float.h
vendored
Normal file
52
third_party/musl/ndk_musl_include/float.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
#ifndef _FLOAT_H
|
||||
#define _FLOAT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int __flt_rounds(void);
|
||||
#define FLT_ROUNDS (__flt_rounds())
|
||||
|
||||
#define FLT_RADIX 2
|
||||
|
||||
#define FLT_TRUE_MIN 1.40129846432481707092e-45F
|
||||
#define FLT_MIN 1.17549435082228750797e-38F
|
||||
#define FLT_MAX 3.40282346638528859812e+38F
|
||||
#define FLT_EPSILON 1.1920928955078125e-07F
|
||||
|
||||
#define FLT_MANT_DIG 24
|
||||
#define FLT_MIN_EXP (-125)
|
||||
#define FLT_MAX_EXP 128
|
||||
#define FLT_HAS_SUBNORM 1
|
||||
|
||||
#define FLT_DIG 6
|
||||
#define FLT_DECIMAL_DIG 9
|
||||
#define FLT_MIN_10_EXP (-37)
|
||||
#define FLT_MAX_10_EXP 38
|
||||
|
||||
#define DBL_TRUE_MIN 4.94065645841246544177e-324
|
||||
#define DBL_MIN 2.22507385850720138309e-308
|
||||
#define DBL_MAX 1.79769313486231570815e+308
|
||||
#define DBL_EPSILON 2.22044604925031308085e-16
|
||||
|
||||
#define DBL_MANT_DIG 53
|
||||
#define DBL_MIN_EXP (-1021)
|
||||
#define DBL_MAX_EXP 1024
|
||||
#define DBL_HAS_SUBNORM 1
|
||||
|
||||
#define DBL_DIG 15
|
||||
#define DBL_DECIMAL_DIG 17
|
||||
#define DBL_MIN_10_EXP (-307)
|
||||
#define DBL_MAX_10_EXP 308
|
||||
|
||||
#define LDBL_HAS_SUBNORM 1
|
||||
#define LDBL_DECIMAL_DIG DECIMAL_DIG
|
||||
|
||||
#include <bits/float.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
45
third_party/musl/ndk_musl_include/fmtmsg.h
vendored
Normal file
45
third_party/musl/ndk_musl_include/fmtmsg.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
#ifndef _FMTMSG_H
|
||||
#define _FMTMSG_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MM_HARD 1
|
||||
#define MM_SOFT 2
|
||||
#define MM_FIRM 4
|
||||
|
||||
#define MM_APPL 8
|
||||
#define MM_UTIL 16
|
||||
#define MM_OPSYS 32
|
||||
|
||||
#define MM_RECOVER 64
|
||||
#define MM_NRECOV 128
|
||||
|
||||
#define MM_PRINT 256
|
||||
#define MM_CONSOLE 512
|
||||
|
||||
#define MM_NULLMC 0L
|
||||
|
||||
#define MM_HALT 1
|
||||
#define MM_ERROR 2
|
||||
#define MM_WARNING 3
|
||||
#define MM_INFO 4
|
||||
#define MM_NOSEV 0
|
||||
|
||||
#define MM_OK 0
|
||||
#define MM_NOTOK (-1)
|
||||
#define MM_NOMSG 1
|
||||
#define MM_NOCON 4
|
||||
|
||||
#define MM_NULLLBL ((char*)0)
|
||||
#define MM_NULLTXT ((char*)0)
|
||||
#define MM_NULLACT ((char*)0)
|
||||
#define MM_NULLTAG ((char*)0)
|
||||
#define MM_NULLSEV 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
24
third_party/musl/ndk_musl_include/fnmatch.h
vendored
Normal file
24
third_party/musl/ndk_musl_include/fnmatch.h
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef _FNMATCH_H
|
||||
#define _FNMATCH_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define FNM_PATHNAME 0x1
|
||||
#define FNM_NOESCAPE 0x2
|
||||
#define FNM_PERIOD 0x4
|
||||
#define FNM_LEADING_DIR 0x8
|
||||
#define FNM_CASEFOLD 0x10
|
||||
#define FNM_FILE_NAME FNM_PATHNAME
|
||||
|
||||
#define FNM_NOMATCH 1
|
||||
#define FNM_NOSYS (-1)
|
||||
|
||||
int fnmatch(const char *, const char *, int);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
129
third_party/musl/ndk_musl_include/fortify/fcntl.h
vendored
Normal file
129
third_party/musl/ndk_musl_include/fortify/fcntl.h
vendored
Normal file
@ -0,0 +1,129 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _FCNTL_H
|
||||
#error "Never include this file directly; instead, include <fcntl.h>"
|
||||
#endif
|
||||
|
||||
#include "fortify.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int __open_chk(const char*, int);
|
||||
int __openat_chk(int, const char*, int);
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
int __open64_chk(const char*, int);
|
||||
int __openat64_chk(int, const char*, int);
|
||||
#endif
|
||||
/*
|
||||
* Even in musl FORTIFY, the following is the easiest way to call a real open.
|
||||
*/
|
||||
int __open_real(const char*, int, ...) __DIAGNOSE_RENAME(open);
|
||||
int __openat_real(int, const char*, int, ...) __DIAGNOSE_RENAME(openat);
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
int __open64_real(const char*, int, ...) __DIAGNOSE_RENAME(open64);
|
||||
int __openat64_real(int, const char*, int, ...) __DIAGNOSE_RENAME(openat64);
|
||||
#endif
|
||||
|
||||
#ifdef __FORTIFY_COMPILATION
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int open(const char* const __DIAGNOSE_PASS_OBJECT_SIZE path, int flags)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_OPEN_MODES_USEFUL(flags), "'open' " OPEN_TOO_FEW_ARGS_ERROR)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __open_chk(path, flags);
|
||||
#else
|
||||
return __open_real(path, flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int open(const char* const __DIAGNOSE_PASS_OBJECT_SIZE path, int flags, unsigned modes)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_WARNING_IF(!__DIAGNOSE_OPEN_MODES_USEFUL(flags) && modes, "'open' " OPEN_USELESS_MODES_WARNING)
|
||||
{
|
||||
return __open_real(path, flags, modes);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int openat(int dirfd, const char* const __DIAGNOSE_PASS_OBJECT_SIZE path, int flags)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_OPEN_MODES_USEFUL(flags), "'openat' " OPEN_TOO_FEW_ARGS_ERROR)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __openat_chk(dirfd, path, flags);
|
||||
#else
|
||||
return __openat_real(dirfd, path, flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int openat(int dirfd, const char* const __DIAGNOSE_PASS_OBJECT_SIZE path, int flags, mode_t modes)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_WARNING_IF(!__DIAGNOSE_OPEN_MODES_USEFUL(flags) && modes, "'openat' " OPEN_USELESS_MODES_WARNING)
|
||||
{
|
||||
return __openat_real(dirfd, path, flags, modes);
|
||||
}
|
||||
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int open64(const char* const __DIAGNOSE_PASS_OBJECT_SIZE path, int flags)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_OPEN_MODES_USEFUL(flags), "'open64' " OPEN_TOO_FEW_ARGS_ERROR)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __open64_chk(path, flags);
|
||||
#else
|
||||
return __open64_real(path, flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int open64(const char* const __DIAGNOSE_PASS_OBJECT_SIZE path, int flags, mode_t modes)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_WARNING_IF(!__DIAGNOSE_OPEN_MODES_USEFUL(flags) && modes, "'open64' " OPEN_USELESS_MODES_WARNING)
|
||||
{
|
||||
return __open64_real(path, flags, modes);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int openat64(int dirfd, const char* const __DIAGNOSE_PASS_OBJECT_SIZE path, int flags)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_OPEN_MODES_USEFUL(flags), "'openat64' " OPEN_TOO_FEW_ARGS_ERROR)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __openat64_chk(dirfd, path, flags);
|
||||
#else
|
||||
return __openat64_real(dirfd, path, flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int openat64(int dirfd, const char* const __DIAGNOSE_PASS_OBJECT_SIZE path, int flags, mode_t modes)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_WARNING_IF(!__DIAGNOSE_OPEN_MODES_USEFUL(flags) && modes, "'openat64' " OPEN_USELESS_MODES_WARNING)
|
||||
{
|
||||
return __openat64_real(dirfd, path, flags, modes);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
137
third_party/musl/ndk_musl_include/fortify/fortify.h
vendored
Normal file
137
third_party/musl/ndk_musl_include/fortify/fortify.h
vendored
Normal file
@ -0,0 +1,137 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _FORTIFY_FORTIFY_H
|
||||
#define _FORTIFY_FORTIFY_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if (_FORTIFY_SOURCE == 1) || (_FORTIFY_SOURCE == 2)
|
||||
#ifndef __FORTIFY_COMPILATION
|
||||
#define __FORTIFY_COMPILATION
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (_FORTIFY_SOURCE == 2)
|
||||
#ifndef __FORTIFY_RUNTIME
|
||||
#define __FORTIFY_RUNTIME
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
#define __DIAGNOSE_CAST(_k, _t, _v) (_k<_t>(_v))
|
||||
#else
|
||||
#define __DIAGNOSE_CAST(_k, _t, _v) ((_t) (_v))
|
||||
#endif
|
||||
|
||||
#if defined(__LP64__)
|
||||
#ifndef FORTIFY_LONG_MAX
|
||||
#define FORTIFY_LONG_MAX 0x7fffffffffffffffL
|
||||
#endif
|
||||
#ifndef FORTIFY_SSIZE_MAX
|
||||
#define FORTIFY_SSIZE_MAX FORTIFY_LONG_MAX
|
||||
#endif
|
||||
#else
|
||||
#ifndef FORTIFY_LONG_MAX
|
||||
#define FORTIFY_LONG_MAX 0x7fffffffL
|
||||
#endif
|
||||
#ifndef FORTIFY_SSIZE_MAX
|
||||
#define FORTIFY_SSIZE_MAX FORTIFY_LONG_MAX
|
||||
#endif
|
||||
#endif
|
||||
#ifndef FORTIFY_PATH_MAX
|
||||
#define FORTIFY_PATH_MAX 4096
|
||||
#endif
|
||||
|
||||
#define __DIAGNOSE_ALWAYS_INLINE __attribute__((__always_inline__))
|
||||
#define __DIAGNOSE_PREDICT_TRUE(exp) __builtin_expect((exp) != 0, 1)
|
||||
#define __DIAGNOSE_PREDICT_FALSE(exp) __builtin_expect((exp) != 0, 0)
|
||||
#define __DIAGNOSE_ENABLE_IF(cond, msg) __attribute__((enable_if(cond, msg)))
|
||||
#define __DIAGNOSE_ERROR_IF(cond, msg) __attribute__((diagnose_if(cond, msg, "error")))
|
||||
#define __DIAGNOSE_WARNING_IF(cond, msg) __attribute__((diagnose_if(cond, msg, "warning")))
|
||||
|
||||
#define __DIAGNOSE_BOS_LEVEL (1)
|
||||
#define __DIAGNOSE_BOSN(s, n) __builtin_object_size((s), (n))
|
||||
#define __DIAGNOSE_BOS(s) __DIAGNOSE_BOSN((s), __DIAGNOSE_BOS_LEVEL)
|
||||
|
||||
#define __DIAGNOSE_BOS0(s) __DIAGNOSE_BOSN((s), 0)
|
||||
#define __DIAGNOSE_PASS_OBJECT_SIZE_N(n) __attribute__((pass_object_size(n)))
|
||||
#define __DIAGNOSE__SIZE_MUL_OVERFLOW(a, b, result) __builtin_umull_overflow(a, b, result)
|
||||
#define __DIAGNOSE_PRINTFLIKE(x, y) __attribute__((__format__(printf, x, y)))
|
||||
#define __DIAGNOSE_CALL_BYPASSING_FORTIFY(fn) (&(fn))
|
||||
#define __DIAGNOSE_FORTIFY_INLINE static __inline__ __attribute__((no_stack_protector)) \
|
||||
__DIAGNOSE_ALWAYS_INLINE
|
||||
|
||||
#define __DIAGNOSE_FORTIFY_VARIADIC static __inline__
|
||||
|
||||
#define __DIAGNOSE_PASS_OBJECT_SIZE __DIAGNOSE_PASS_OBJECT_SIZE_N(__DIAGNOSE_BOS_LEVEL)
|
||||
#define __DIAGNOSE_PASS_OBJECT_SIZE0 __DIAGNOSE_PASS_OBJECT_SIZE_N(0)
|
||||
|
||||
#define __DIAGNOSE_FORTIFY_UNKNOWN_SIZE ((unsigned int) -1)
|
||||
/* The following are intended for use in unevaluated environments, e.g. diagnose_if conditions. */
|
||||
#define __DIAGNOSE_UNEVALUATED_LT(bos_val, val) \
|
||||
((bos_val) != __DIAGNOSE_FORTIFY_UNKNOWN_SIZE && (bos_val) < (val))
|
||||
|
||||
#define __DIAGNOSE_UNEVALUATED_LE(bos_val, val) \
|
||||
((bos_val) != __DIAGNOSE_FORTIFY_UNKNOWN_SIZE && (bos_val) <= (val))
|
||||
|
||||
/* The following acts in the context of evaluation. */
|
||||
#define __DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL_AND(bos_val, op, index, cond) \
|
||||
((bos_val) == __DIAGNOSE_FORTIFY_UNKNOWN_SIZE || \
|
||||
(__builtin_constant_p(index) && bos_val op index && (cond)))
|
||||
|
||||
#define __DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL(bos_val, op, index) \
|
||||
__DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL_AND(bos_val, op, index, 1)
|
||||
|
||||
#define __DIAGNOSE_BOS_TRIVIALLY_GE(bos_val, index) __DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL((bos_val), >=, (index))
|
||||
#define __DIAGNOSE_BOS_TRIVIALLY_GT(bos_val, index) __DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL((bos_val), >, (index))
|
||||
|
||||
#define __DIAGNOSE_OVERLOAD __attribute__((overloadable))
|
||||
|
||||
/*
|
||||
* A function to prevent this function from being applied.
|
||||
* Used to rename the function so that the compiler emits a call to "x".
|
||||
*/
|
||||
#define __DIAGNOSE_RENAME(x) __asm__(#x)
|
||||
#define __DIAGNOSE_OPEN_MODES_USEFUL(flags) (((flags) & O_CREAT) || ((flags) & O_TMPFILE) == O_TMPFILE)
|
||||
#define __DIAGNOSE_BOS_FD_COUNT_TRIVIALLY_SAFE(bos_val, fds, fd_count) \
|
||||
__DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL_AND((bos_val), >=, (sizeof(*(fds)) * (fd_count)), \
|
||||
(fd_count) <= __DIAGNOSE_CAST(static_cast, unsigned int, -1) / sizeof(*(fds)))
|
||||
|
||||
#define __DIAGNOSE_UNSAFE_CHK_MUL_OVERFLOW(x, y) ((__SIZE_TYPE__)-1 / (x) < (y))
|
||||
|
||||
#define __DIAGNOSE_BOS_TRIVIALLY_GE_MUL(bos_val, size, count) \
|
||||
__DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL_AND(bos_val, >=, (size) * (count), \
|
||||
!__DIAGNOSE_UNSAFE_CHK_MUL_OVERFLOW(size, count))
|
||||
|
||||
#define FORTIFY_RUNTIME_ERROR_PREFIX "Musl Fortify runtime error: "
|
||||
#define OPEN_TOO_MANY_ARGS_ERROR "There are too many arguments"
|
||||
#define OPEN_TOO_FEW_ARGS_ERROR "invoking with O_CREAT or O_TMPFILE, but missing pattern."
|
||||
#define OPEN_USELESS_MODES_WARNING "having redundant mode bits; but missing O_CREAT."
|
||||
#define CALLED_WITH_STRING_BIGGER_BUFFER "called with a string larger than the buffer"
|
||||
#define FD_COUNT_LARGE_GIVEN_BUFFER "fd_count is greater than the given buffer"
|
||||
#define CALLED_WITH_SIZE_BIGGER_BUFFER "called with bigger size than the buffer"
|
||||
#define OUTPUT_PARAMETER_BYTES "the output parameter must be nullptr or a pointer to the buffer with >= FORTIFY_PATH_MAX bytes"
|
||||
#define SIZE_LARGER_THEN_DESTINATION_BUFFER "the size is greater than the target buffer"
|
||||
|
||||
void __fortify_error(const char* info, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
72
third_party/musl/ndk_musl_include/fortify/poll.h
vendored
Normal file
72
third_party/musl/ndk_musl_include/fortify/poll.h
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _POLL_H
|
||||
#error "Never include this file directly; instead, include <poll.h>"
|
||||
#endif
|
||||
|
||||
#include <signal.h>
|
||||
#include "fortify.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int __poll_chk(struct pollfd*, nfds_t, int, size_t);
|
||||
#ifdef _GNU_SOURCE
|
||||
int __ppoll_chk(struct pollfd*, nfds_t, const struct timespec*, const sigset_t*, size_t);
|
||||
#endif
|
||||
|
||||
#ifdef __FORTIFY_COMPILATION
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int poll(struct pollfd* const fds __DIAGNOSE_PASS_OBJECT_SIZE, nfds_t fd_amount, int timeout)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS(fds), sizeof(*fds) * fd_amount),
|
||||
"in call to 'poll', " FD_COUNT_LARGE_GIVEN_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos_fds = __DIAGNOSE_BOS(fds);
|
||||
|
||||
if (!__DIAGNOSE_BOS_FD_COUNT_TRIVIALLY_SAFE(bos_fds, fds, fd_amount)) {
|
||||
return __poll_chk(fds, fd_amount, timeout, bos_fds);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(poll)(fds, fd_amount, timeout);
|
||||
}
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
int ppoll(struct pollfd* const fds __DIAGNOSE_PASS_OBJECT_SIZE, nfds_t fd_amount,
|
||||
const struct timespec* timeout, const sigset_t* mask)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS(fds), sizeof(*fds) * fd_amount),
|
||||
"in call to 'ppoll', " FD_COUNT_LARGE_GIVEN_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos_fds = __DIAGNOSE_BOS(fds);
|
||||
|
||||
if (!__DIAGNOSE_BOS_FD_COUNT_TRIVIALLY_SAFE(bos_fds, fds, fd_amount)) {
|
||||
return __ppoll_chk(fds, fd_amount, timeout, mask, bos_fds);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(ppoll)(fds, fd_amount, timeout, mask);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
104
third_party/musl/ndk_musl_include/fortify/socket.h
vendored
Normal file
104
third_party/musl/ndk_musl_include/fortify/socket.h
vendored
Normal file
@ -0,0 +1,104 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_SOCKET_H
|
||||
#error "Never include this file directly; instead, include <sys/socket.h>"
|
||||
#endif
|
||||
|
||||
#include "fortify.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
ssize_t __sendto_chk(int, const void*, size_t, size_t, int, const struct sockaddr*,
|
||||
socklen_t);
|
||||
ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, struct sockaddr*,
|
||||
socklen_t*);
|
||||
ssize_t __send_chk(int, const void*, size_t, size_t, int);
|
||||
ssize_t __recv_chk(int, void*, size_t, size_t, int);
|
||||
|
||||
|
||||
#ifdef __FORTIFY_COMPILATION
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t recvfrom(int fd, void* const buf __DIAGNOSE_PASS_OBJECT_SIZE0, size_t len, int flags,
|
||||
struct sockaddr* src_addr, socklen_t* addr_len)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS0(buf), len),
|
||||
"'recvfrom' " CALLED_WITH_SIZE_BIGGER_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE(bos, len)) {
|
||||
return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addr_len);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(recvfrom)(fd, buf, len, flags, src_addr, addr_len);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t sendto(int fd, const void* const buf __DIAGNOSE_PASS_OBJECT_SIZE0, size_t len, int flags,
|
||||
const struct sockaddr* dest_addr, socklen_t addr_len)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS0(buf), len),
|
||||
"'sendto' " CALLED_WITH_SIZE_BIGGER_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE(bos, len)) {
|
||||
return __sendto_chk(fd, buf, len, bos, flags, dest_addr, addr_len);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(sendto)(fd, buf, len, flags, dest_addr, addr_len);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t recv(int socket, void* const buf __DIAGNOSE_PASS_OBJECT_SIZE0, size_t len, int flags)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS0(buf), len),
|
||||
"'recv' " CALLED_WITH_SIZE_BIGGER_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE(bos, len)) {
|
||||
return __recv_chk(socket, buf, len, bos, flags);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(recv)(socket, buf, len, flags);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t send(int socket, const void* const buf __DIAGNOSE_PASS_OBJECT_SIZE0, size_t len, int flags)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS0(buf), len),
|
||||
"'send' " CALLED_WITH_SIZE_BIGGER_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE(bos, len)) {
|
||||
return __send_chk(socket, buf, len, bos, flags);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(send)(socket, buf, len, flags);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
47
third_party/musl/ndk_musl_include/fortify/stat.h
vendored
Normal file
47
third_party/musl/ndk_musl_include/fortify/stat.h
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_STAT_H
|
||||
#error "Never include this file directly; instead, include <sys/stat.h>"
|
||||
#endif
|
||||
|
||||
#include "fortify.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
mode_t __umask_chk(mode_t);
|
||||
mode_t __umask_real(mode_t mode) __DIAGNOSE_RENAME(umask);
|
||||
|
||||
#ifdef __FORTIFY_COMPILATION
|
||||
/* Overload of umask. */
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
mode_t umask(mode_t mode)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ENABLE_IF(1, "")
|
||||
__DIAGNOSE_ERROR_IF(mode & ~0777, "'umask' was called in invalid mode")
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __umask_chk(mode);
|
||||
#else
|
||||
return __umask_real(mode);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
136
third_party/musl/ndk_musl_include/fortify/stdio.h
vendored
Normal file
136
third_party/musl/ndk_musl_include/fortify/stdio.h
vendored
Normal file
@ -0,0 +1,136 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _STDIO_H
|
||||
#error "Never include this file directly; instead, include <stdio.h>"
|
||||
#endif
|
||||
|
||||
#include <stdarg.h>
|
||||
#include "fortify.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(__FORTIFY_COMPILATION)
|
||||
|
||||
#define FORMAT_PLACE_2 (2)
|
||||
#define FORMAT_PLACE_3 (3)
|
||||
#define VALIST_PLACE_0 (0)
|
||||
#define VALIST_PLACE_3 (3)
|
||||
#define VALIST_PLACE_4 (4)
|
||||
|
||||
size_t __fread_chk(void*, size_t, size_t, FILE*, size_t);
|
||||
size_t __fwrite_chk(const void*, size_t, size_t, FILE*, size_t);
|
||||
char* __fgets_chk(char*, int, FILE*, size_t);
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
size_t fread(void* const __DIAGNOSE_PASS_OBJECT_SIZE0 buf,
|
||||
size_t size, size_t count, FILE* stream)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNSAFE_CHK_MUL_OVERFLOW(size, count),
|
||||
"in call to 'fread', size * count overflows")
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS0(buf), size * count),
|
||||
"in call to 'fread', size * count is too large for the given buffer")
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE_MUL(bos, size, count)) {
|
||||
return __fread_chk(buf, size, count, stream, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(fread)(buf, size, count, stream);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
size_t fwrite(const void* const __DIAGNOSE_PASS_OBJECT_SIZE0 buf,
|
||||
size_t size, size_t count, FILE* stream)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNSAFE_CHK_MUL_OVERFLOW(size, count),
|
||||
"in call to 'fwrite', size * count overflows")
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS0(buf), size * count),
|
||||
"in call to 'fwrite', size * count is too large for the given buffer")
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE_MUL(bos, size, count)) {
|
||||
return __fwrite_chk(buf, size, count, stream, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(fwrite)(buf, size, count, stream);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char* fgets(char* const __DIAGNOSE_PASS_OBJECT_SIZE dest, int size, FILE* stream)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(size < 0, "in call to 'fgets', size should not be less than 0")
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS(dest), size),
|
||||
"in call to 'fgets', " SIZE_LARGER_THEN_DESTINATION_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS(dest);
|
||||
|
||||
if (!__DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL_AND(bos, >=, (size_t)size, size >= 0)) {
|
||||
return __fgets_chk(dest, size, stream, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(fgets)(dest, size, stream);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE __DIAGNOSE_PRINTFLIKE(FORMAT_PLACE_3, VALIST_PLACE_0)
|
||||
int vsnprintf(char* const __DIAGNOSE_PASS_OBJECT_SIZE dest,
|
||||
size_t size, const char* format, va_list ap)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
size_t bos = __DIAGNOSE_BOS(dest);
|
||||
return __builtin___vsnprintf_chk(dest, size, 0, bos, format, ap);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE __DIAGNOSE_PRINTFLIKE(FORMAT_PLACE_2, VALIST_PLACE_0)
|
||||
int vsprintf(char* const __DIAGNOSE_PASS_OBJECT_SIZE dest, const char* format, va_list ap)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
return __builtin___vsprintf_chk(dest, 0, __DIAGNOSE_BOS(dest), format, ap);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_VARIADIC __DIAGNOSE_PRINTFLIKE(FORMAT_PLACE_2, VALIST_PLACE_3)
|
||||
int sprintf(char* const __DIAGNOSE_PASS_OBJECT_SIZE dest, const char* format, ...)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
va_list va_l;
|
||||
va_start(va_l, format);
|
||||
int result = __builtin___vsprintf_chk(dest, 0, __DIAGNOSE_BOS(dest), format, va_l);
|
||||
va_end(va_l);
|
||||
return result;
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_VARIADIC __DIAGNOSE_PRINTFLIKE(FORMAT_PLACE_3, VALIST_PLACE_4)
|
||||
int snprintf(char* const __DIAGNOSE_PASS_OBJECT_SIZE dest, size_t size, const char* format, ...)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
va_list va_l;
|
||||
va_start(va_l, format);
|
||||
int result = __builtin___vsnprintf_chk(dest, size, 0, __DIAGNOSE_BOS(dest), format, va_l);
|
||||
va_end(va_l);
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif // defined(__FORTIFY_COMPILATION)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
34
third_party/musl/ndk_musl_include/fortify/stdlib.h
vendored
Normal file
34
third_party/musl/ndk_musl_include/fortify/stdlib.h
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _STDLIB_H
|
||||
#error "Never include this file directly; instead, include <stdlib.h>"
|
||||
#endif
|
||||
|
||||
#include "fortify.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) && defined(__FORTIFY_COMPILATION)
|
||||
char* realpath(const char* path, char* resolved)
|
||||
__DIAGNOSE_ERROR_IF(!path, "'realpath': NULL path is never correct; flipped arguments?")
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS(resolved), FORTIFY_PATH_MAX),
|
||||
"'realpath' " OUTPUT_PARAMETER_BYTES);
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
246
third_party/musl/ndk_musl_include/fortify/string.h
vendored
Normal file
246
third_party/musl/ndk_musl_include/fortify/string.h
vendored
Normal file
@ -0,0 +1,246 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _STRING_H
|
||||
#error "Never include this file directly; instead, include <string.h>"
|
||||
#endif
|
||||
|
||||
#include "fortify.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void *__memchr_chk(const void* s, int c, size_t n, size_t actual_size);
|
||||
void *__memrchr_chk(const void*, int, size_t, size_t);
|
||||
size_t __strlcpy_chk(char*, const char*, size_t, size_t);
|
||||
size_t __strlcat_chk(char*, const char*, size_t, size_t);
|
||||
char *__strchr_chk(const char* p, int ch, size_t s_len);
|
||||
char *__strrchr_chk(const char *p, int ch, size_t s_len);
|
||||
size_t __strlen_chk(const char* s, size_t s_len);
|
||||
|
||||
#ifdef __FORTIFY_COMPILATION
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char *strcpy(char *const dest __DIAGNOSE_PASS_OBJECT_SIZE, const char *src)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LE(__DIAGNOSE_BOS(dest), __builtin_strlen(src)),
|
||||
"'strcpy' " CALLED_WITH_STRING_BIGGER_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __builtin___strcpy_chk(dest, src, __DIAGNOSE_BOS(dest));
|
||||
#else
|
||||
return __builtin_strcpy(dest, src);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char *stpcpy(char *const dest __DIAGNOSE_PASS_OBJECT_SIZE, const char *src)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LE(__DIAGNOSE_BOS(dest), __builtin_strlen(src)),
|
||||
"'stpcpy' " CALLED_WITH_STRING_BIGGER_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __builtin___stpcpy_chk(dest, src, __DIAGNOSE_BOS(dest));
|
||||
#else
|
||||
return __builtin_stpcpy(dest, src);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
void *memmove(void *const dest __DIAGNOSE_PASS_OBJECT_SIZE0, const void *src, size_t len)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __builtin___memmove_chk(dest, src, len, __DIAGNOSE_BOS(dest));
|
||||
#else
|
||||
return __builtin_memmove(dest, src, len);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
void *mempcpy(void *const dest __DIAGNOSE_PASS_OBJECT_SIZE, const void *src, size_t copy_amount)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS0(dest), copy_amount),
|
||||
"'mempcpy' " CALLED_WITH_STRING_BIGGER_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __builtin___mempcpy_chk(dest, src, copy_amount, __DIAGNOSE_BOS0(dest));
|
||||
#else
|
||||
return __builtin_mempcpy(dest, src, copy_amount);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char *strcat(char *const dest __DIAGNOSE_PASS_OBJECT_SIZE, const char *src)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LE(__DIAGNOSE_BOS(dest), __builtin_strlen(src)),
|
||||
"'strcat' " CALLED_WITH_STRING_BIGGER_BUFFER)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __builtin___strcat_chk(dest, src, __DIAGNOSE_BOS(dest));
|
||||
#else
|
||||
return __builtin_strcat(dest, src);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char *strncat(char* const dest __DIAGNOSE_PASS_OBJECT_SIZE, const char* src, size_t n)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
return __builtin___strncat_chk(dest, src, n, __DIAGNOSE_BOS(dest));
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char *stpncpy(char *const dest __DIAGNOSE_PASS_OBJECT_SIZE,
|
||||
const char *const src __DIAGNOSE_PASS_OBJECT_SIZE, size_t n)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
size_t bos_dest = __DIAGNOSE_BOS(dest);
|
||||
return __builtin___stpncpy_chk(dest, src, n, bos_dest);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char *strncpy(char *const dest __DIAGNOSE_PASS_OBJECT_SIZE,
|
||||
const char *const src __DIAGNOSE_PASS_OBJECT_SIZE, size_t n)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
size_t bos_dest = __DIAGNOSE_BOS(dest);
|
||||
return __builtin___strncpy_chk(dest, src, n, bos_dest);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
void *memcpy(void *const dest __DIAGNOSE_PASS_OBJECT_SIZE0, const void *src, size_t copy_amount)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
return __builtin___memcpy_chk(dest, src, copy_amount, __DIAGNOSE_BOS0(dest));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
size_t strlcpy(char *const dest __DIAGNOSE_PASS_OBJECT_SIZE, const char *src, size_t size)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS(dest), size),
|
||||
"'strlcpy' called with size bigger than buffer")
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __strlcpy_chk(dest, src, size, __DIAGNOSE_BOS(dest));
|
||||
#else
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(strlcpy)(dest, src, size);
|
||||
#endif
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
size_t strlcat(char* const dest __DIAGNOSE_PASS_OBJECT_SIZE, const char* src, size_t size)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT(__DIAGNOSE_BOS(dest), size),
|
||||
"'strlcat' called with size bigger than buffer")
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __strlcat_chk(dest, src, size, __DIAGNOSE_BOS(dest));
|
||||
#else
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(strlcat)(dest, src, size);
|
||||
#endif
|
||||
}
|
||||
#endif // defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
void *memset(void *const s __DIAGNOSE_PASS_OBJECT_SIZE0, int c, size_t n)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_WARNING_IF(c && !n, "'memset' will set 0 bytes; maybe the arguments got flipped?")
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
return __builtin___memset_chk(s, c, n, __DIAGNOSE_BOS0(s));
|
||||
#else
|
||||
return __builtin_memset(s, c, n);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
void *memchr(const void *const s __DIAGNOSE_PASS_OBJECT_SIZE, int c, size_t n)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
size_t bos = __DIAGNOSE_BOS(s);
|
||||
if (__DIAGNOSE_BOS_TRIVIALLY_GE(bos, n)) {
|
||||
return __builtin_memchr(s, c, n);
|
||||
}
|
||||
return __memchr_chk(s, c, n, bos);
|
||||
}
|
||||
#endif // memchr __FORTIFY_RUNTIME
|
||||
|
||||
extern void* __memrchr_real(const void*, int, size_t) __DIAGNOSE_RENAME(memrchr);
|
||||
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
void *memrchr(const void *const __DIAGNOSE_PASS_OBJECT_SIZE s, int c, size_t n)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
size_t bos = __DIAGNOSE_BOS(s);
|
||||
if (__DIAGNOSE_BOS_TRIVIALLY_GE(bos, n)) {
|
||||
return __memrchr_real(s, c, n);
|
||||
}
|
||||
return __memrchr_chk(s, c, n, bos);
|
||||
}
|
||||
#endif
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char* strchr(const char* const s __DIAGNOSE_PASS_OBJECT_SIZE, int c)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS(s);
|
||||
|
||||
if (bos != __DIAGNOSE_FORTIFY_UNKNOWN_SIZE) {
|
||||
return __strchr_chk(s, c, bos);
|
||||
}
|
||||
#endif
|
||||
return __builtin_strchr(s, c);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char* strrchr(const char* const s __DIAGNOSE_PASS_OBJECT_SIZE, int c)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS(s);
|
||||
|
||||
if (bos != __DIAGNOSE_FORTIFY_UNKNOWN_SIZE) {
|
||||
return __strrchr_chk(s, c, bos);
|
||||
}
|
||||
#endif
|
||||
return __builtin_strrchr(s, c);
|
||||
}
|
||||
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
size_t strlen(const char* const s __DIAGNOSE_PASS_OBJECT_SIZE0)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
{
|
||||
return __strlen_chk(s, __DIAGNOSE_BOS0(s));
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __FORTIFY_COMPILATION
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
171
third_party/musl/ndk_musl_include/fortify/unistd.h
vendored
Normal file
171
third_party/musl/ndk_musl_include/fortify/unistd.h
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _UNISTD_H
|
||||
#error "Never include this file directly; instead, include <unistd.h>"
|
||||
#endif
|
||||
|
||||
#include "fortify.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(__FORTIFY_COMPILATION)
|
||||
|
||||
#define __DIAGNOSE_ERROR_IF_OVERFLOWS_SSIZET(what, fn) \
|
||||
__DIAGNOSE_ERROR_IF((what) > FORTIFY_SSIZE_MAX, "in call to '" #fn "', '" #what "' must be <= FORTIFY_SSIZE_MAX")
|
||||
|
||||
#define __DIAGNOSE_ERROR_IF_OVERFLOWS_OBJECTSIZE(what, objsize, fn) \
|
||||
__DIAGNOSE_ERROR_IF(__DIAGNOSE_UNEVALUATED_LT((objsize), (what)), \
|
||||
"in call to '" #fn "', '" #what "' bytes overflows the given object")
|
||||
|
||||
#define __DIAGNOSE_BOS_TRIVIALLY_GE_NO_OVERFLOW(bos_val, index) \
|
||||
((__DIAGNOSE_BOS_DYNAMIC_CHECK_IMPL_AND((bos_val), >=, (index), (bos_val) <= (FORTIFY_SSIZE_MAX)) && \
|
||||
__builtin_constant_p(index) && (index) <= (FORTIFY_SSIZE_MAX)))
|
||||
|
||||
char* __getcwd_chk(char*, size_t, size_t) ;
|
||||
|
||||
ssize_t __pread_chk(int, void*, size_t, off_t, size_t);
|
||||
ssize_t __pread_real(int, void*, size_t, off_t) __DIAGNOSE_RENAME(pread);
|
||||
|
||||
ssize_t __pwrite_chk(int, const void*, size_t, off_t, size_t);
|
||||
ssize_t __pwrite_real(int, const void*, size_t, off_t) __DIAGNOSE_RENAME(pwrite);
|
||||
|
||||
ssize_t __read_chk(int, void*, size_t, size_t);
|
||||
ssize_t __write_chk(int, const void*, size_t, size_t);
|
||||
|
||||
ssize_t __readlink_chk(const char*, char*, size_t, size_t);
|
||||
ssize_t __readlinkat_chk(int dirfd, const char*, char*, size_t, size_t);
|
||||
|
||||
#define __DIAGNOSE_PREAD_PREFIX(x) __pread_ ## x
|
||||
#define __DIAGNOSE_PWRITE_PREFIX(x) __pwrite_ ## x
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
char* getcwd(char* const __DIAGNOSE_PASS_OBJECT_SIZE buf, size_t size)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_OBJECTSIZE(size, __DIAGNOSE_BOS(buf), getcwd)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE(bos, size)) {
|
||||
return __getcwd_chk(buf, size, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(getcwd)(buf, size);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t pread(int fd, void* const __DIAGNOSE_PASS_OBJECT_SIZE0 buf, size_t count, off_t offset)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_SSIZET(count, pread)
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_OBJECTSIZE(count, __DIAGNOSE_BOS0(buf), pread)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE_NO_OVERFLOW(bos, count)) {
|
||||
return __DIAGNOSE_PREAD_PREFIX(chk)(fd, buf, count, offset, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_PREAD_PREFIX(real)(fd, buf, count, offset);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t pwrite(int fd, const void* const __DIAGNOSE_PASS_OBJECT_SIZE0 buf, size_t count, off_t offset)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_SSIZET(count, pwrite)
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_OBJECTSIZE(count, __DIAGNOSE_BOS0(buf), pwrite)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE_NO_OVERFLOW(bos, count)) {
|
||||
return __DIAGNOSE_PWRITE_PREFIX(chk)(fd, buf, count, offset, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_PWRITE_PREFIX(real)(fd, buf, count, offset);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t read(int fd, void* const __DIAGNOSE_PASS_OBJECT_SIZE0 buf, size_t count)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_SSIZET(count, read)
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_OBJECTSIZE(count, __DIAGNOSE_BOS0(buf), read)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE_NO_OVERFLOW(bos, count)) {
|
||||
return __read_chk(fd, buf, count, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(read)(fd, buf, count);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t write(int fd, const void* const __DIAGNOSE_PASS_OBJECT_SIZE0 buf, size_t count)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_SSIZET(count, write)
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_OBJECTSIZE(count, __DIAGNOSE_BOS0(buf), write)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS0(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE_NO_OVERFLOW(bos, count)) {
|
||||
return __write_chk(fd, buf, count, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(write)(fd, buf, count);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t readlink(const char* path, char* const __DIAGNOSE_PASS_OBJECT_SIZE buf, size_t size)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_SSIZET(size, readlink)
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_OBJECTSIZE(size, __DIAGNOSE_BOS(buf), readlink)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE_NO_OVERFLOW(bos, size)) {
|
||||
return __readlink_chk(path, buf, size, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(readlink)(path, buf, size);
|
||||
}
|
||||
|
||||
__DIAGNOSE_FORTIFY_INLINE
|
||||
ssize_t readlinkat(int dirfd, const char* path, char* const __DIAGNOSE_PASS_OBJECT_SIZE buf, size_t size)
|
||||
__DIAGNOSE_OVERLOAD
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_SSIZET(size, readlinkat)
|
||||
__DIAGNOSE_ERROR_IF_OVERFLOWS_OBJECTSIZE(size, __DIAGNOSE_BOS(buf), readlinkat)
|
||||
{
|
||||
#ifdef __FORTIFY_RUNTIME
|
||||
size_t bos = __DIAGNOSE_BOS(buf);
|
||||
|
||||
if (!__DIAGNOSE_BOS_TRIVIALLY_GE_NO_OVERFLOW(bos, size)) {
|
||||
return __readlinkat_chk(dirfd, path, buf, size, bos);
|
||||
}
|
||||
#endif
|
||||
return __DIAGNOSE_CALL_BYPASSING_FORTIFY(readlinkat)(dirfd, path, buf, size);
|
||||
}
|
||||
|
||||
#endif // defined(__FORTIFY_COMPILATION)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
41
third_party/musl/ndk_musl_include/ftw.h
vendored
Normal file
41
third_party/musl/ndk_musl_include/ftw.h
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
#ifndef _FTW_H
|
||||
#define _FTW_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#define FTW_F 1
|
||||
#define FTW_D 2
|
||||
#define FTW_DNR 3
|
||||
#define FTW_NS 4
|
||||
#define FTW_SL 5
|
||||
#define FTW_DP 6
|
||||
#define FTW_SLN 7
|
||||
|
||||
#define FTW_PHYS 1
|
||||
#define FTW_MOUNT 2
|
||||
#define FTW_CHDIR 4
|
||||
#define FTW_DEPTH 8
|
||||
|
||||
struct FTW {
|
||||
int base;
|
||||
int level;
|
||||
};
|
||||
|
||||
int ftw(const char *, int (*)(const char *, const struct stat *, int), int);
|
||||
int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int);
|
||||
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
#define ftw64 ftw
|
||||
#define nftw64 nftw
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
30
third_party/musl/ndk_musl_include/getopt.h
vendored
Normal file
30
third_party/musl/ndk_musl_include/getopt.h
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef _GETOPT_H
|
||||
#define _GETOPT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int getopt(int, char * const [], const char *);
|
||||
extern char *optarg;
|
||||
extern int optind, opterr, optopt, optreset;
|
||||
|
||||
struct option {
|
||||
const char *name;
|
||||
int has_arg;
|
||||
int *flag;
|
||||
int val;
|
||||
};
|
||||
|
||||
int getopt_long(int, char *const *, const char *, const struct option *, int *);
|
||||
int getopt_long_only(int, char *const *, const char *, const struct option *, int *);
|
||||
|
||||
#define no_argument 0
|
||||
#define required_argument 1
|
||||
#define optional_argument 2
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
50
third_party/musl/ndk_musl_include/glob.h
vendored
Normal file
50
third_party/musl/ndk_musl_include/glob.h
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
#ifndef _GLOB_H
|
||||
#define _GLOB_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_size_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
typedef struct {
|
||||
size_t gl_pathc;
|
||||
char **gl_pathv;
|
||||
size_t gl_offs;
|
||||
int __dummy1;
|
||||
void *__dummy2[5];
|
||||
} glob_t;
|
||||
|
||||
int glob(const char *__restrict, int, int (*)(const char *, int), glob_t *__restrict);
|
||||
void globfree(glob_t *);
|
||||
|
||||
#define GLOB_ERR 0x01
|
||||
#define GLOB_MARK 0x02
|
||||
#define GLOB_NOSORT 0x04
|
||||
#define GLOB_DOOFFS 0x08
|
||||
#define GLOB_NOCHECK 0x10
|
||||
#define GLOB_APPEND 0x20
|
||||
#define GLOB_NOESCAPE 0x40
|
||||
#define GLOB_PERIOD 0x80
|
||||
|
||||
#define GLOB_TILDE 0x1000
|
||||
#define GLOB_TILDE_CHECK 0x4000
|
||||
|
||||
#define GLOB_NOSPACE 1
|
||||
#define GLOB_ABORTED 2
|
||||
#define GLOB_NOMATCH 3
|
||||
#define GLOB_NOSYS 4
|
||||
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
#define glob64_t glob_t
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
48
third_party/musl/ndk_musl_include/grp.h
vendored
Normal file
48
third_party/musl/ndk_musl_include/grp.h
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
#ifndef _GRP_H
|
||||
#define _GRP_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_size_t
|
||||
#define __NEED_gid_t
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define __NEED_FILE
|
||||
#endif
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
struct group {
|
||||
char *gr_name;
|
||||
char *gr_passwd;
|
||||
gid_t gr_gid;
|
||||
char **gr_mem;
|
||||
};
|
||||
|
||||
struct group *getgrgid(gid_t);
|
||||
struct group *getgrnam(const char *);
|
||||
|
||||
int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
|
||||
int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
|
||||
|
||||
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
struct group *getgrent(void);
|
||||
void endgrent(void);
|
||||
void setgrent(void);
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
int getgrouplist(const char *, gid_t, gid_t *, int *);
|
||||
int setgroups(size_t, const gid_t *);
|
||||
int initgroups(const char *, gid_t);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
24
third_party/musl/ndk_musl_include/iconv.h
vendored
Normal file
24
third_party/musl/ndk_musl_include/iconv.h
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef _ICONV_H
|
||||
#define _ICONV_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_size_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
typedef void *iconv_t;
|
||||
|
||||
iconv_t iconv_open(const char *, const char *);
|
||||
size_t iconv(iconv_t, char **__restrict, size_t *__restrict, char **__restrict, size_t *__restrict);
|
||||
int iconv_close(iconv_t);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
35
third_party/musl/ndk_musl_include/ifaddrs.h
vendored
Normal file
35
third_party/musl/ndk_musl_include/ifaddrs.h
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
#ifndef _IFADDRS_H
|
||||
#define _IFADDRS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
struct ifaddrs {
|
||||
struct ifaddrs *ifa_next;
|
||||
char *ifa_name;
|
||||
unsigned ifa_flags;
|
||||
struct sockaddr *ifa_addr;
|
||||
struct sockaddr *ifa_netmask;
|
||||
union {
|
||||
struct sockaddr *ifu_broadaddr;
|
||||
struct sockaddr *ifu_dstaddr;
|
||||
} ifa_ifu;
|
||||
void *ifa_data;
|
||||
};
|
||||
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
|
||||
#define ifa_dstaddr ifa_ifu.ifu_dstaddr
|
||||
|
||||
void freeifaddrs(struct ifaddrs *);
|
||||
int getifaddrs(struct ifaddrs **);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
44
third_party/musl/ndk_musl_include/info/application_target_sdk_version.h
vendored
Normal file
44
third_party/musl/ndk_musl_include/info/application_target_sdk_version.h
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _INFO_APPLICATION_TARGET_SDK_VERSION_H
|
||||
#define _INFO_APPLICATION_TARGET_SDK_VERSION_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define SDK_VERSION_FUTURE 9999
|
||||
#define SDK_VERSION_7 7
|
||||
#define SDK_VERSION_8 8
|
||||
#define SDK_VERSION_9 9
|
||||
|
||||
/**
|
||||
* @brief Get the target sdk version number of the application.
|
||||
* @return The target sdk version number.
|
||||
*/
|
||||
int get_application_target_sdk_version(void);
|
||||
|
||||
/**
|
||||
* @brief Set the target sdk version number of the application.
|
||||
* @param target The target sdk version number.
|
||||
*/
|
||||
void set_application_target_sdk_version(int target);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _INFO_APPLICATION_TARGET_SDK_VERSION_H
|
33
third_party/musl/ndk_musl_include/info/device_api_version.h
vendored
Normal file
33
third_party/musl/ndk_musl_include/info/device_api_version.h
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _INFO_DEVICE_API_VERSION_H
|
||||
#define _INFO_DEVICE_API_VERSION_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Get the api version number of the device.
|
||||
* @return The api version number of the device.
|
||||
*/
|
||||
int get_device_api_version(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _INFO_DEVICE_API_VERSION_H
|
47
third_party/musl/ndk_musl_include/info/fatal_message.h
vendored
Normal file
47
third_party/musl/ndk_musl_include/info/fatal_message.h
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _INFO_FATAL_MESSAGE_H
|
||||
#define _INFO_FATAL_MESSAGE_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct fatal_msg {
|
||||
size_t size;
|
||||
char msg[0];
|
||||
} fatal_msg_t;
|
||||
|
||||
/**
|
||||
* @brief Set up fatal message
|
||||
* @param msg The fatal message
|
||||
*/
|
||||
void set_fatal_message(const char *msg);
|
||||
|
||||
/**
|
||||
* @brief Get the set fatal message
|
||||
* @return Address of fatal message
|
||||
*/
|
||||
fatal_msg_t *get_fatal_message(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _INFO_FATAL_MESSAGE_H
|
229
third_party/musl/ndk_musl_include/inttypes.h
vendored
Normal file
229
third_party/musl/ndk_musl_include/inttypes.h
vendored
Normal file
@ -0,0 +1,229 @@
|
||||
#ifndef _INTTYPES_H
|
||||
#define _INTTYPES_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define __NEED_wchar_t
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
typedef struct { intmax_t quot, rem; } imaxdiv_t;
|
||||
|
||||
intmax_t imaxabs(intmax_t);
|
||||
imaxdiv_t imaxdiv(intmax_t, intmax_t);
|
||||
|
||||
intmax_t strtoimax(const char *__restrict, char **__restrict, int);
|
||||
uintmax_t strtoumax(const char *__restrict, char **__restrict, int);
|
||||
|
||||
intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int);
|
||||
uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int);
|
||||
|
||||
#if UINTPTR_MAX == UINT64_MAX
|
||||
#define __PRI64 "l"
|
||||
#define __PRIPTR "l"
|
||||
#else
|
||||
#define __PRI64 "ll"
|
||||
#define __PRIPTR ""
|
||||
#endif
|
||||
|
||||
#define PRId8 "d"
|
||||
#define PRId16 "d"
|
||||
#define PRId32 "d"
|
||||
#define PRId64 __PRI64 "d"
|
||||
|
||||
#define PRIdLEAST8 "d"
|
||||
#define PRIdLEAST16 "d"
|
||||
#define PRIdLEAST32 "d"
|
||||
#define PRIdLEAST64 __PRI64 "d"
|
||||
|
||||
#define PRIdFAST8 "d"
|
||||
#define PRIdFAST16 "d"
|
||||
#define PRIdFAST32 "d"
|
||||
#define PRIdFAST64 __PRI64 "d"
|
||||
|
||||
#define PRIi8 "i"
|
||||
#define PRIi16 "i"
|
||||
#define PRIi32 "i"
|
||||
#define PRIi64 __PRI64 "i"
|
||||
|
||||
#define PRIiLEAST8 "i"
|
||||
#define PRIiLEAST16 "i"
|
||||
#define PRIiLEAST32 "i"
|
||||
#define PRIiLEAST64 __PRI64 "i"
|
||||
|
||||
#define PRIiFAST8 "i"
|
||||
#define PRIiFAST16 "i"
|
||||
#define PRIiFAST32 "i"
|
||||
#define PRIiFAST64 __PRI64 "i"
|
||||
|
||||
#define PRIo8 "o"
|
||||
#define PRIo16 "o"
|
||||
#define PRIo32 "o"
|
||||
#define PRIo64 __PRI64 "o"
|
||||
|
||||
#define PRIoLEAST8 "o"
|
||||
#define PRIoLEAST16 "o"
|
||||
#define PRIoLEAST32 "o"
|
||||
#define PRIoLEAST64 __PRI64 "o"
|
||||
|
||||
#define PRIoFAST8 "o"
|
||||
#define PRIoFAST16 "o"
|
||||
#define PRIoFAST32 "o"
|
||||
#define PRIoFAST64 __PRI64 "o"
|
||||
|
||||
#define PRIu8 "u"
|
||||
#define PRIu16 "u"
|
||||
#define PRIu32 "u"
|
||||
#define PRIu64 __PRI64 "u"
|
||||
|
||||
#define PRIuLEAST8 "u"
|
||||
#define PRIuLEAST16 "u"
|
||||
#define PRIuLEAST32 "u"
|
||||
#define PRIuLEAST64 __PRI64 "u"
|
||||
|
||||
#define PRIuFAST8 "u"
|
||||
#define PRIuFAST16 "u"
|
||||
#define PRIuFAST32 "u"
|
||||
#define PRIuFAST64 __PRI64 "u"
|
||||
|
||||
#define PRIx8 "x"
|
||||
#define PRIx16 "x"
|
||||
#define PRIx32 "x"
|
||||
#define PRIx64 __PRI64 "x"
|
||||
|
||||
#define PRIxLEAST8 "x"
|
||||
#define PRIxLEAST16 "x"
|
||||
#define PRIxLEAST32 "x"
|
||||
#define PRIxLEAST64 __PRI64 "x"
|
||||
|
||||
#define PRIxFAST8 "x"
|
||||
#define PRIxFAST16 "x"
|
||||
#define PRIxFAST32 "x"
|
||||
#define PRIxFAST64 __PRI64 "x"
|
||||
|
||||
#define PRIX8 "X"
|
||||
#define PRIX16 "X"
|
||||
#define PRIX32 "X"
|
||||
#define PRIX64 __PRI64 "X"
|
||||
|
||||
#define PRIXLEAST8 "X"
|
||||
#define PRIXLEAST16 "X"
|
||||
#define PRIXLEAST32 "X"
|
||||
#define PRIXLEAST64 __PRI64 "X"
|
||||
|
||||
#define PRIXFAST8 "X"
|
||||
#define PRIXFAST16 "X"
|
||||
#define PRIXFAST32 "X"
|
||||
#define PRIXFAST64 __PRI64 "X"
|
||||
|
||||
#define PRIdMAX __PRI64 "d"
|
||||
#define PRIiMAX __PRI64 "i"
|
||||
#define PRIoMAX __PRI64 "o"
|
||||
#define PRIuMAX __PRI64 "u"
|
||||
#define PRIxMAX __PRI64 "x"
|
||||
#define PRIXMAX __PRI64 "X"
|
||||
|
||||
#define PRIdPTR __PRIPTR "d"
|
||||
#define PRIiPTR __PRIPTR "i"
|
||||
#define PRIoPTR __PRIPTR "o"
|
||||
#define PRIuPTR __PRIPTR "u"
|
||||
#define PRIxPTR __PRIPTR "x"
|
||||
#define PRIXPTR __PRIPTR "X"
|
||||
|
||||
#define SCNd8 "hhd"
|
||||
#define SCNd16 "hd"
|
||||
#define SCNd32 "d"
|
||||
#define SCNd64 __PRI64 "d"
|
||||
|
||||
#define SCNdLEAST8 "hhd"
|
||||
#define SCNdLEAST16 "hd"
|
||||
#define SCNdLEAST32 "d"
|
||||
#define SCNdLEAST64 __PRI64 "d"
|
||||
|
||||
#define SCNdFAST8 "hhd"
|
||||
#define SCNdFAST16 "d"
|
||||
#define SCNdFAST32 "d"
|
||||
#define SCNdFAST64 __PRI64 "d"
|
||||
|
||||
#define SCNi8 "hhi"
|
||||
#define SCNi16 "hi"
|
||||
#define SCNi32 "i"
|
||||
#define SCNi64 __PRI64 "i"
|
||||
|
||||
#define SCNiLEAST8 "hhi"
|
||||
#define SCNiLEAST16 "hi"
|
||||
#define SCNiLEAST32 "i"
|
||||
#define SCNiLEAST64 __PRI64 "i"
|
||||
|
||||
#define SCNiFAST8 "hhi"
|
||||
#define SCNiFAST16 "i"
|
||||
#define SCNiFAST32 "i"
|
||||
#define SCNiFAST64 __PRI64 "i"
|
||||
|
||||
#define SCNu8 "hhu"
|
||||
#define SCNu16 "hu"
|
||||
#define SCNu32 "u"
|
||||
#define SCNu64 __PRI64 "u"
|
||||
|
||||
#define SCNuLEAST8 "hhu"
|
||||
#define SCNuLEAST16 "hu"
|
||||
#define SCNuLEAST32 "u"
|
||||
#define SCNuLEAST64 __PRI64 "u"
|
||||
|
||||
#define SCNuFAST8 "hhu"
|
||||
#define SCNuFAST16 "u"
|
||||
#define SCNuFAST32 "u"
|
||||
#define SCNuFAST64 __PRI64 "u"
|
||||
|
||||
#define SCNo8 "hho"
|
||||
#define SCNo16 "ho"
|
||||
#define SCNo32 "o"
|
||||
#define SCNo64 __PRI64 "o"
|
||||
|
||||
#define SCNoLEAST8 "hho"
|
||||
#define SCNoLEAST16 "ho"
|
||||
#define SCNoLEAST32 "o"
|
||||
#define SCNoLEAST64 __PRI64 "o"
|
||||
|
||||
#define SCNoFAST8 "hho"
|
||||
#define SCNoFAST16 "o"
|
||||
#define SCNoFAST32 "o"
|
||||
#define SCNoFAST64 __PRI64 "o"
|
||||
|
||||
#define SCNx8 "hhx"
|
||||
#define SCNx16 "hx"
|
||||
#define SCNx32 "x"
|
||||
#define SCNx64 __PRI64 "x"
|
||||
|
||||
#define SCNxLEAST8 "hhx"
|
||||
#define SCNxLEAST16 "hx"
|
||||
#define SCNxLEAST32 "x"
|
||||
#define SCNxLEAST64 __PRI64 "x"
|
||||
|
||||
#define SCNxFAST8 "hhx"
|
||||
#define SCNxFAST16 "x"
|
||||
#define SCNxFAST32 "x"
|
||||
#define SCNxFAST64 __PRI64 "x"
|
||||
|
||||
#define SCNdMAX __PRI64 "d"
|
||||
#define SCNiMAX __PRI64 "i"
|
||||
#define SCNoMAX __PRI64 "o"
|
||||
#define SCNuMAX __PRI64 "u"
|
||||
#define SCNxMAX __PRI64 "x"
|
||||
|
||||
#define SCNdPTR __PRIPTR "d"
|
||||
#define SCNiPTR __PRIPTR "i"
|
||||
#define SCNoPTR __PRIPTR "o"
|
||||
#define SCNuPTR __PRIPTR "u"
|
||||
#define SCNxPTR __PRIPTR "x"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
20
third_party/musl/ndk_musl_include/iso646.h
vendored
Normal file
20
third_party/musl/ndk_musl_include/iso646.h
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef _ISO646_H
|
||||
#define _ISO646_H
|
||||
|
||||
#ifndef __cplusplus
|
||||
|
||||
#define and &&
|
||||
#define and_eq &=
|
||||
#define bitand &
|
||||
#define bitor |
|
||||
#define compl ~
|
||||
#define not !
|
||||
#define not_eq !=
|
||||
#define or ||
|
||||
#define or_eq |=
|
||||
#define xor ^
|
||||
#define xor_eq ^=
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
116
third_party/musl/ndk_musl_include/langinfo.h
vendored
Normal file
116
third_party/musl/ndk_musl_include/langinfo.h
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
/**
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _LANGINFO_H
|
||||
#define _LANGINFO_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <nl_types.h>
|
||||
|
||||
#define __NEED_locale_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#define ABDAY_1 0x20000
|
||||
#define ABDAY_2 0x20001
|
||||
#define ABDAY_3 0x20002
|
||||
#define ABDAY_4 0x20003
|
||||
#define ABDAY_5 0x20004
|
||||
#define ABDAY_6 0x20005
|
||||
#define ABDAY_7 0x20006
|
||||
|
||||
#define DAY_1 0x20007
|
||||
#define DAY_2 0x20008
|
||||
#define DAY_3 0x20009
|
||||
#define DAY_4 0x2000A
|
||||
#define DAY_5 0x2000B
|
||||
#define DAY_6 0x2000C
|
||||
#define DAY_7 0x2000D
|
||||
|
||||
#define ABMON_1 0x2000E
|
||||
#define ABMON_2 0x2000F
|
||||
#define ABMON_3 0x20010
|
||||
#define ABMON_4 0x20011
|
||||
#define ABMON_5 0x20012
|
||||
#define ABMON_6 0x20013
|
||||
#define ABMON_7 0x20014
|
||||
#define ABMON_8 0x20015
|
||||
#define ABMON_9 0x20016
|
||||
#define ABMON_10 0x20017
|
||||
#define ABMON_11 0x20018
|
||||
#define ABMON_12 0x20019
|
||||
|
||||
#define MON_1 0x2001A
|
||||
#define MON_2 0x2001B
|
||||
#define MON_3 0x2001C
|
||||
#define MON_4 0x2001D
|
||||
#define MON_5 0x2001E
|
||||
#define MON_6 0x2001F
|
||||
#define MON_7 0x20020
|
||||
#define MON_8 0x20021
|
||||
#define MON_9 0x20022
|
||||
#define MON_10 0x20023
|
||||
#define MON_11 0x20024
|
||||
#define MON_12 0x20025
|
||||
|
||||
#define AM_STR 0x20026
|
||||
#define PM_STR 0x20027
|
||||
|
||||
#define D_T_FMT 0x20028
|
||||
#define D_FMT 0x20029
|
||||
#define T_FMT 0x2002A
|
||||
#define T_FMT_AMPM 0x2002B
|
||||
|
||||
#define ERA 0x2002C
|
||||
#define ERA_D_FMT 0x2002E
|
||||
#define ALT_DIGITS 0x2002F
|
||||
#define ERA_D_T_FMT 0x20030
|
||||
#define ERA_T_FMT 0x20031
|
||||
|
||||
#define AM_STR_LOWER 0x20032
|
||||
#define PM_STR_LOWER 0x20033
|
||||
|
||||
#define CODESET 14
|
||||
|
||||
#define CRNCYSTR 0x4000F
|
||||
|
||||
#define RADIXCHAR 0x10000
|
||||
#define THOUSEP 0x10001
|
||||
#define YESEXPR 0x50000
|
||||
#define NOEXPR 0x50001
|
||||
|
||||
#define _NL_LOCALE_NAME(cat) (((cat)<<16) | 0xffff)
|
||||
|
||||
#if defined(_GNU_SOURCE)
|
||||
#define NL_LOCALE_NAME(cat) _NL_LOCALE_NAME(cat)
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#define YESSTR 0x50002
|
||||
#define NOSTR 0x50003
|
||||
#endif
|
||||
|
||||
char *nl_langinfo(nl_item);
|
||||
char *nl_langinfo_l(nl_item, locale_t);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
1
third_party/musl/ndk_musl_include/lastlog.h
vendored
Normal file
1
third_party/musl/ndk_musl_include/lastlog.h
vendored
Normal file
@ -0,0 +1 @@
|
||||
#include <utmp.h>
|
15
third_party/musl/ndk_musl_include/libgen.h
vendored
Normal file
15
third_party/musl/ndk_musl_include/libgen.h
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef _LIBGEN_H
|
||||
#define _LIBGEN_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
char *dirname(char *);
|
||||
char *basename(char *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
23
third_party/musl/ndk_musl_include/libintl.h
vendored
Normal file
23
third_party/musl/ndk_musl_include/libintl.h
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
#ifndef _LIBINTL_H
|
||||
#define _LIBINTL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define __USE_GNU_GETTEXT 1
|
||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 1 : -1)
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
#define __fa(n) __attribute__ ((__format_arg__ (n)))
|
||||
#else
|
||||
#define __fa(n)
|
||||
#endif
|
||||
|
||||
#undef __fa
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
166
third_party/musl/ndk_musl_include/limits.h
vendored
Normal file
166
third_party/musl/ndk_musl_include/limits.h
vendored
Normal file
@ -0,0 +1,166 @@
|
||||
#ifndef _LIMITS_H
|
||||
#define _LIMITS_H
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#include <bits/alltypes.h> /* __LONG_MAX */
|
||||
|
||||
/* Support signed or unsigned plain-char */
|
||||
|
||||
#if '\xff' > 0
|
||||
#define CHAR_MIN 0
|
||||
#define CHAR_MAX 255
|
||||
#else
|
||||
#define CHAR_MIN (-128)
|
||||
#define CHAR_MAX 127
|
||||
#endif
|
||||
|
||||
#define CHAR_BIT 8
|
||||
#define SCHAR_MIN (-128)
|
||||
#define SCHAR_MAX 127
|
||||
#define UCHAR_MAX 255
|
||||
#define SHRT_MIN (-1-0x7fff)
|
||||
#define SHRT_MAX 0x7fff
|
||||
#define USHRT_MAX 0xffff
|
||||
#define INT_MIN (-1-0x7fffffff)
|
||||
#define INT_MAX 0x7fffffff
|
||||
#define UINT_MAX 0xffffffffU
|
||||
#define LONG_MIN (-LONG_MAX-1)
|
||||
#define LONG_MAX __LONG_MAX
|
||||
#define ULONG_MAX (2UL*LONG_MAX+1)
|
||||
#define LLONG_MIN (-LLONG_MAX-1)
|
||||
#define LLONG_MAX 0x7fffffffffffffffLL
|
||||
#define ULLONG_MAX (2ULL*LLONG_MAX+1)
|
||||
|
||||
#define MB_LEN_MAX 4
|
||||
|
||||
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|
||||
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
|
||||
#include <bits/limits.h>
|
||||
|
||||
#define PIPE_BUF 4096
|
||||
#define FILESIZEBITS 64
|
||||
#ifndef NAME_MAX
|
||||
#define NAME_MAX 255
|
||||
#endif
|
||||
#define PATH_MAX 4096
|
||||
#define NGROUPS_MAX 32
|
||||
#define ARG_MAX 131072
|
||||
#define IOV_MAX 1024
|
||||
#define SYMLOOP_MAX 40
|
||||
#define WORD_BIT 32
|
||||
#define SSIZE_MAX LONG_MAX
|
||||
#define TZNAME_MAX 6
|
||||
#define TTY_NAME_MAX 32
|
||||
#define HOST_NAME_MAX 255
|
||||
|
||||
#if LONG_MAX == 0x7fffffffL
|
||||
#define LONG_BIT 32
|
||||
#else
|
||||
#define LONG_BIT 64
|
||||
#endif
|
||||
|
||||
/* Implementation choices... */
|
||||
|
||||
#define PTHREAD_KEYS_MAX 128
|
||||
#define PTHREAD_STACK_MIN 2048
|
||||
#define PTHREAD_DESTRUCTOR_ITERATIONS 4
|
||||
#define SEM_VALUE_MAX 0x7fffffff
|
||||
#define SEM_NSEMS_MAX 256
|
||||
#define DELAYTIMER_MAX 0x7fffffff
|
||||
#define MQ_PRIO_MAX 32768
|
||||
#define LOGIN_NAME_MAX 256
|
||||
|
||||
/* Arbitrary numbers... */
|
||||
|
||||
#define BC_BASE_MAX 99
|
||||
#define BC_DIM_MAX 2048
|
||||
#define BC_SCALE_MAX 99
|
||||
#define BC_STRING_MAX 1000
|
||||
#define CHARCLASS_NAME_MAX 14
|
||||
#define COLL_WEIGHTS_MAX 2
|
||||
#define EXPR_NEST_MAX 32
|
||||
#define LINE_MAX 4096
|
||||
#define RE_DUP_MAX 255
|
||||
|
||||
#define NL_ARGMAX 9
|
||||
#define NL_MSGMAX 32767
|
||||
#define NL_SETMAX 255
|
||||
#define NL_TEXTMAX 2048
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE)
|
||||
|
||||
#ifdef PAGESIZE
|
||||
#define PAGE_SIZE PAGESIZE
|
||||
#endif
|
||||
#define NZERO 20
|
||||
#define NL_LANGMAX 32
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \
|
||||
|| (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700)
|
||||
|
||||
#define NL_NMAX 16
|
||||
|
||||
#endif
|
||||
|
||||
/* POSIX/SUS requirements follow. These numbers come directly
|
||||
* from SUS and have nothing to do with the host system. */
|
||||
|
||||
#define _POSIX_AIO_LISTIO_MAX 2
|
||||
#define _POSIX_AIO_MAX 1
|
||||
#define _POSIX_ARG_MAX 4096
|
||||
#define _POSIX_CHILD_MAX 25
|
||||
#define _POSIX_CLOCKRES_MIN 20000000
|
||||
#define _POSIX_DELAYTIMER_MAX 32
|
||||
#define _POSIX_HOST_NAME_MAX 255
|
||||
#define _POSIX_LINK_MAX 8
|
||||
#define _POSIX_LOGIN_NAME_MAX 9
|
||||
#define _POSIX_MAX_CANON 255
|
||||
#define _POSIX_MAX_INPUT 255
|
||||
#define _POSIX_MQ_OPEN_MAX 8
|
||||
#define _POSIX_MQ_PRIO_MAX 32
|
||||
#define _POSIX_NAME_MAX 14
|
||||
#define _POSIX_NGROUPS_MAX 8
|
||||
#define _POSIX_OPEN_MAX 20
|
||||
#define _POSIX_PATH_MAX 256
|
||||
#define _POSIX_PIPE_BUF 512
|
||||
#define _POSIX_RE_DUP_MAX 255
|
||||
#define _POSIX_RTSIG_MAX 8
|
||||
#define _POSIX_SEM_NSEMS_MAX 256
|
||||
#define _POSIX_SEM_VALUE_MAX 32767
|
||||
#define _POSIX_SIGQUEUE_MAX 32
|
||||
#define _POSIX_SSIZE_MAX 32767
|
||||
#define _POSIX_STREAM_MAX 8
|
||||
#define _POSIX_SS_REPL_MAX 4
|
||||
#define _POSIX_SYMLINK_MAX 255
|
||||
#define _POSIX_SYMLOOP_MAX 8
|
||||
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
|
||||
#define _POSIX_THREAD_KEYS_MAX 128
|
||||
#define _POSIX_THREAD_THREADS_MAX 64
|
||||
#define _POSIX_TIMER_MAX 32
|
||||
#define _POSIX_TRACE_EVENT_NAME_MAX 30
|
||||
#define _POSIX_TRACE_NAME_MAX 8
|
||||
#define _POSIX_TRACE_SYS_MAX 8
|
||||
#define _POSIX_TRACE_USER_EVENT_MAX 32
|
||||
#define _POSIX_TTY_NAME_MAX 9
|
||||
#define _POSIX_TZNAME_MAX 6
|
||||
#define _POSIX2_BC_BASE_MAX 99
|
||||
#define _POSIX2_BC_DIM_MAX 2048
|
||||
#define _POSIX2_BC_SCALE_MAX 99
|
||||
#define _POSIX2_BC_STRING_MAX 1000
|
||||
#define _POSIX2_CHARCLASS_NAME_MAX 14
|
||||
#define _POSIX2_COLL_WEIGHTS_MAX 2
|
||||
#define _POSIX2_EXPR_NEST_MAX 32
|
||||
#define _POSIX2_LINE_MAX 2048
|
||||
#define _POSIX2_RE_DUP_MAX 255
|
||||
|
||||
#define _XOPEN_IOV_MAX 16
|
||||
#define _XOPEN_NAME_MAX 255
|
||||
#define _XOPEN_PATH_MAX 1024
|
||||
|
||||
#endif
|
53
third_party/musl/ndk_musl_include/link.h
vendored
Normal file
53
third_party/musl/ndk_musl_include/link.h
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
#ifndef _LINK_H
|
||||
#define _LINK_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <elf.h>
|
||||
#define __NEED_size_t
|
||||
#define __NEED_uint32_t
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#if UINTPTR_MAX > 0xffffffff
|
||||
#define ElfW(type) Elf64_ ## type
|
||||
#else
|
||||
#define ElfW(type) Elf32_ ## type
|
||||
#endif
|
||||
|
||||
#include <bits/link.h>
|
||||
|
||||
struct dl_phdr_info {
|
||||
ElfW(Addr) dlpi_addr;
|
||||
const char *dlpi_name;
|
||||
const ElfW(Phdr) *dlpi_phdr;
|
||||
ElfW(Half) dlpi_phnum;
|
||||
unsigned long long int dlpi_adds;
|
||||
unsigned long long int dlpi_subs;
|
||||
size_t dlpi_tls_modid;
|
||||
void *dlpi_tls_data;
|
||||
};
|
||||
|
||||
struct link_map {
|
||||
ElfW(Addr) l_addr;
|
||||
char *l_name;
|
||||
ElfW(Dyn) *l_ld;
|
||||
struct link_map *l_next, *l_prev;
|
||||
};
|
||||
|
||||
struct r_debug {
|
||||
int r_version;
|
||||
struct link_map *r_map;
|
||||
ElfW(Addr) r_brk;
|
||||
enum { RT_CONSISTENT, RT_ADD, RT_DELETE } r_state;
|
||||
ElfW(Addr) r_ldbase;
|
||||
};
|
||||
|
||||
int dl_iterate_phdr(int (*)(struct dl_phdr_info *, size_t, void *), void *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
108
third_party/musl/ndk_musl_include/locale.h
vendored
Normal file
108
third_party/musl/ndk_musl_include/locale.h
vendored
Normal file
@ -0,0 +1,108 @@
|
||||
/**
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _LOCALE_H
|
||||
#define _LOCALE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0L
|
||||
#else
|
||||
#define NULL ((void*)0)
|
||||
#endif
|
||||
|
||||
#define LC_CTYPE 0
|
||||
#define LC_NUMERIC 1
|
||||
#define LC_TIME 2
|
||||
#define LC_COLLATE 3
|
||||
#define LC_MONETARY 4
|
||||
#define LC_MESSAGES 5
|
||||
#define LC_PAPER 6
|
||||
#define LC_NAME 7
|
||||
#define LC_ADDRESS 8
|
||||
#define LC_TELEPHONE 9
|
||||
#define LC_MEASUREMENT 10
|
||||
#define LC_IDENTIFICATION 11
|
||||
#define LC_ALL 12
|
||||
|
||||
struct lconv {
|
||||
char *decimal_point;
|
||||
char *thousands_sep;
|
||||
char *grouping;
|
||||
|
||||
char *int_curr_symbol;
|
||||
char *currency_symbol;
|
||||
char *mon_decimal_point;
|
||||
char *mon_thousands_sep;
|
||||
char *mon_grouping;
|
||||
char *positive_sign;
|
||||
char *negative_sign;
|
||||
char int_frac_digits;
|
||||
char frac_digits;
|
||||
char p_cs_precedes;
|
||||
char p_sep_by_space;
|
||||
char n_cs_precedes;
|
||||
char n_sep_by_space;
|
||||
char p_sign_posn;
|
||||
char n_sign_posn;
|
||||
char int_p_cs_precedes;
|
||||
char int_p_sep_by_space;
|
||||
char int_n_cs_precedes;
|
||||
char int_n_sep_by_space;
|
||||
char int_p_sign_posn;
|
||||
char int_n_sign_posn;
|
||||
};
|
||||
|
||||
char *setlocale (int, const char *);
|
||||
struct lconv *localeconv(void);
|
||||
|
||||
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|
||||
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
|
||||
#define __NEED_locale_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#define LC_GLOBAL_LOCALE ((locale_t)-1)
|
||||
|
||||
#define LC_CTYPE_MASK (1<<LC_CTYPE)
|
||||
#define LC_NUMERIC_MASK (1<<LC_NUMERIC)
|
||||
#define LC_TIME_MASK (1<<LC_TIME)
|
||||
#define LC_COLLATE_MASK (1<<LC_COLLATE)
|
||||
#define LC_MONETARY_MASK (1<<LC_MONETARY)
|
||||
#define LC_MESSAGES_MASK (1<<LC_MESSAGES)
|
||||
#define LC_PAPER_MASK (1<<LC_PAPER)
|
||||
#define LC_NAME_MASK (1<<LC_NAME)
|
||||
#define LC_ADDRESS_MASK (1<<LC_ADDRESS)
|
||||
#define LC_TELEPHONE_MASK (1<<LC_TELEPHONE)
|
||||
#define LC_MEASUREMENT_MASK (1<<LC_MEASUREMENT)
|
||||
#define LC_IDENTIFICATION_MASK (1<<LC_IDENTIFICATION)
|
||||
#define LC_ALL_MASK 0x7fffffff
|
||||
|
||||
locale_t duplocale(locale_t);
|
||||
void freelocale(locale_t);
|
||||
locale_t newlocale(int, const char *, locale_t);
|
||||
locale_t uselocale(locale_t);
|
||||
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
62
third_party/musl/ndk_musl_include/malloc.h
vendored
Normal file
62
third_party/musl/ndk_musl_include/malloc.h
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
#ifndef _MALLOC_H
|
||||
#define _MALLOC_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define __NEED_size_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#define M_SET_THREAD_CACHE -1001
|
||||
#define M_THREAD_CACHE_ENABLE 1
|
||||
#define M_THREAD_CACHE_DISABLE 0
|
||||
|
||||
#define M_FLUSH_THREAD_CACHE -1002
|
||||
|
||||
#define M_DELAYED_FREE -1003
|
||||
#define M_DELAYED_FREE_ENABLE 1
|
||||
#define M_DELAYED_FREE_DISABLE 0
|
||||
|
||||
void *malloc (size_t);
|
||||
void *calloc (size_t, size_t);
|
||||
void *realloc (void *, size_t);
|
||||
void free (void *);
|
||||
void *valloc (size_t);
|
||||
void *memalign(size_t, size_t);
|
||||
|
||||
size_t malloc_usable_size(void *);
|
||||
int mallopt(int param, int value);
|
||||
|
||||
struct mallinfo {
|
||||
int arena;
|
||||
int ordblks;
|
||||
int smblks;
|
||||
int hblks;
|
||||
int hblkhd;
|
||||
int usmblks;
|
||||
int fsmblks;
|
||||
int uordblks;
|
||||
int fordblks;
|
||||
int keepcost;
|
||||
};
|
||||
|
||||
struct mallinfo2 {
|
||||
size_t arena;
|
||||
size_t ordblks;
|
||||
size_t smblks;
|
||||
size_t hblks;
|
||||
size_t hblkhd;
|
||||
size_t usmblks;
|
||||
size_t fsmblks;
|
||||
size_t uordblks;
|
||||
size_t fordblks;
|
||||
size_t keepcost;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
435
third_party/musl/ndk_musl_include/math.h
vendored
Normal file
435
third_party/musl/ndk_musl_include/math.h
vendored
Normal file
@ -0,0 +1,435 @@
|
||||
#ifndef _MATH_H
|
||||
#define _MATH_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_float_t
|
||||
#define __NEED_double_t
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#if 100*__GNUC__+__GNUC_MINOR__ >= 303
|
||||
#define NAN __builtin_nanf("")
|
||||
#define INFINITY __builtin_inff()
|
||||
#else
|
||||
#define NAN (0.0f/0.0f)
|
||||
#define INFINITY 1e5000f
|
||||
#endif
|
||||
|
||||
#define HUGE_VALF INFINITY
|
||||
#define HUGE_VAL ((double)INFINITY)
|
||||
#define HUGE_VALL ((long double)INFINITY)
|
||||
|
||||
#define MATH_ERRNO 1
|
||||
#define MATH_ERREXCEPT 2
|
||||
#define math_errhandling 2
|
||||
|
||||
#define FP_ILOGBNAN (-1-0x7fffffff)
|
||||
#define FP_ILOGB0 FP_ILOGBNAN
|
||||
|
||||
#define FP_NAN 0
|
||||
#define FP_INFINITE 1
|
||||
#define FP_ZERO 2
|
||||
#define FP_SUBNORMAL 3
|
||||
#define FP_NORMAL 4
|
||||
|
||||
#ifdef __FP_FAST_FMA
|
||||
#define FP_FAST_FMA 1
|
||||
#endif
|
||||
|
||||
#ifdef __FP_FAST_FMAF
|
||||
#define FP_FAST_FMAF 1
|
||||
#endif
|
||||
|
||||
#ifdef __FP_FAST_FMAL
|
||||
#define FP_FAST_FMAL 1
|
||||
#endif
|
||||
|
||||
int __fpclassify(double);
|
||||
int __fpclassifyf(float);
|
||||
int __fpclassifyl(long double);
|
||||
|
||||
static __inline unsigned __FLOAT_BITS(float __f)
|
||||
{
|
||||
union {float __f; unsigned __i;} __u;
|
||||
__u.__f = __f;
|
||||
return __u.__i;
|
||||
}
|
||||
static __inline unsigned long long __DOUBLE_BITS(double __f)
|
||||
{
|
||||
union {double __f; unsigned long long __i;} __u;
|
||||
__u.__f = __f;
|
||||
return __u.__i;
|
||||
}
|
||||
|
||||
#define fpclassify(x) ( \
|
||||
sizeof(x) == sizeof(float) ? __fpclassifyf(x) : \
|
||||
sizeof(x) == sizeof(double) ? __fpclassify(x) : \
|
||||
__fpclassifyl(x) )
|
||||
|
||||
#define isinf(x) ( \
|
||||
sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) == 0x7f800000 : \
|
||||
sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) == 0x7ffULL<<52 : \
|
||||
__fpclassifyl(x) == FP_INFINITE)
|
||||
|
||||
#define isnan(x) ( \
|
||||
sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) > 0x7f800000 : \
|
||||
sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) > 0x7ffULL<<52 : \
|
||||
__fpclassifyl(x) == FP_NAN)
|
||||
|
||||
#define isnormal(x) ( \
|
||||
sizeof(x) == sizeof(float) ? ((__FLOAT_BITS(x)+0x00800000) & 0x7fffffff) >= 0x01000000 : \
|
||||
sizeof(x) == sizeof(double) ? ((__DOUBLE_BITS(x)+(1ULL<<52)) & -1ULL>>1) >= 1ULL<<53 : \
|
||||
__fpclassifyl(x) == FP_NORMAL)
|
||||
|
||||
#define isfinite(x) ( \
|
||||
sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) < 0x7f800000 : \
|
||||
sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) < 0x7ffULL<<52 : \
|
||||
__fpclassifyl(x) > FP_INFINITE)
|
||||
|
||||
int __signbit(double);
|
||||
int __signbitf(float);
|
||||
int __signbitl(long double);
|
||||
|
||||
#define signbit(x) ( \
|
||||
sizeof(x) == sizeof(float) ? (int)(__FLOAT_BITS(x)>>31) : \
|
||||
sizeof(x) == sizeof(double) ? (int)(__DOUBLE_BITS(x)>>63) : \
|
||||
__signbitl(x) )
|
||||
|
||||
#define isunordered(x,y) (isnan((x)) ? ((void)(y),1) : isnan((y)))
|
||||
|
||||
#define __ISREL_DEF(rel, op, type) \
|
||||
static __inline int __is##rel(type __x, type __y) \
|
||||
{ return !isunordered(__x,__y) && __x op __y; }
|
||||
|
||||
__ISREL_DEF(lessf, <, float_t)
|
||||
__ISREL_DEF(less, <, double_t)
|
||||
__ISREL_DEF(lessl, <, long double)
|
||||
__ISREL_DEF(lessequalf, <=, float_t)
|
||||
__ISREL_DEF(lessequal, <=, double_t)
|
||||
__ISREL_DEF(lessequall, <=, long double)
|
||||
__ISREL_DEF(lessgreaterf, !=, float_t)
|
||||
__ISREL_DEF(lessgreater, !=, double_t)
|
||||
__ISREL_DEF(lessgreaterl, !=, long double)
|
||||
__ISREL_DEF(greaterf, >, float_t)
|
||||
__ISREL_DEF(greater, >, double_t)
|
||||
__ISREL_DEF(greaterl, >, long double)
|
||||
__ISREL_DEF(greaterequalf, >=, float_t)
|
||||
__ISREL_DEF(greaterequal, >=, double_t)
|
||||
__ISREL_DEF(greaterequall, >=, long double)
|
||||
|
||||
#define __tg_pred_2(x, y, p) ( \
|
||||
sizeof((x)+(y)) == sizeof(float) ? p##f(x, y) : \
|
||||
sizeof((x)+(y)) == sizeof(double) ? p(x, y) : \
|
||||
p##l(x, y) )
|
||||
|
||||
#define isless(x, y) __tg_pred_2(x, y, __isless)
|
||||
#define islessequal(x, y) __tg_pred_2(x, y, __islessequal)
|
||||
#define islessgreater(x, y) __tg_pred_2(x, y, __islessgreater)
|
||||
#define isgreater(x, y) __tg_pred_2(x, y, __isgreater)
|
||||
#define isgreaterequal(x, y) __tg_pred_2(x, y, __isgreaterequal)
|
||||
|
||||
double acos(double);
|
||||
float acosf(float);
|
||||
long double acosl(long double);
|
||||
|
||||
double acosh(double);
|
||||
float acoshf(float);
|
||||
long double acoshl(long double);
|
||||
|
||||
double asin(double);
|
||||
float asinf(float);
|
||||
long double asinl(long double);
|
||||
|
||||
double asinh(double);
|
||||
float asinhf(float);
|
||||
long double asinhl(long double);
|
||||
|
||||
double atan(double);
|
||||
float atanf(float);
|
||||
long double atanl(long double);
|
||||
|
||||
double atan2(double, double);
|
||||
float atan2f(float, float);
|
||||
long double atan2l(long double, long double);
|
||||
|
||||
double atanh(double);
|
||||
float atanhf(float);
|
||||
long double atanhl(long double);
|
||||
|
||||
double cbrt(double);
|
||||
float cbrtf(float);
|
||||
long double cbrtl(long double);
|
||||
|
||||
double ceil(double);
|
||||
float ceilf(float);
|
||||
long double ceill(long double);
|
||||
|
||||
double copysign(double, double);
|
||||
float copysignf(float, float);
|
||||
long double copysignl(long double, long double);
|
||||
|
||||
double cos(double);
|
||||
float cosf(float);
|
||||
long double cosl(long double);
|
||||
|
||||
double cosh(double);
|
||||
float coshf(float);
|
||||
long double coshl(long double);
|
||||
|
||||
double erf(double);
|
||||
float erff(float);
|
||||
long double erfl(long double);
|
||||
|
||||
double erfc(double);
|
||||
float erfcf(float);
|
||||
long double erfcl(long double);
|
||||
|
||||
double exp(double);
|
||||
float expf(float);
|
||||
long double expl(long double);
|
||||
|
||||
double exp2(double);
|
||||
float exp2f(float);
|
||||
long double exp2l(long double);
|
||||
|
||||
double expm1(double);
|
||||
float expm1f(float);
|
||||
long double expm1l(long double);
|
||||
|
||||
double fabs(double);
|
||||
float fabsf(float);
|
||||
long double fabsl(long double);
|
||||
|
||||
double fdim(double, double);
|
||||
float fdimf(float, float);
|
||||
long double fdiml(long double, long double);
|
||||
|
||||
double floor(double);
|
||||
float floorf(float);
|
||||
long double floorl(long double);
|
||||
|
||||
double fma(double, double, double);
|
||||
float fmaf(float, float, float);
|
||||
long double fmal(long double, long double, long double);
|
||||
|
||||
double fmax(double, double);
|
||||
float fmaxf(float, float);
|
||||
long double fmaxl(long double, long double);
|
||||
|
||||
double fmin(double, double);
|
||||
float fminf(float, float);
|
||||
long double fminl(long double, long double);
|
||||
|
||||
double fmod(double, double);
|
||||
float fmodf(float, float);
|
||||
long double fmodl(long double, long double);
|
||||
|
||||
double frexp(double, int *);
|
||||
float frexpf(float, int *);
|
||||
long double frexpl(long double, int *);
|
||||
|
||||
double hypot(double, double);
|
||||
float hypotf(float, float);
|
||||
long double hypotl(long double, long double);
|
||||
|
||||
int ilogb(double);
|
||||
int ilogbf(float);
|
||||
int ilogbl(long double);
|
||||
|
||||
double ldexp(double, int);
|
||||
float ldexpf(float, int);
|
||||
long double ldexpl(long double, int);
|
||||
|
||||
double lgamma(double);
|
||||
float lgammaf(float);
|
||||
long double lgammal(long double);
|
||||
|
||||
long long llrint(double);
|
||||
long long llrintf(float);
|
||||
long long llrintl(long double);
|
||||
|
||||
long long llround(double);
|
||||
long long llroundf(float);
|
||||
long long llroundl(long double);
|
||||
|
||||
double log(double);
|
||||
float logf(float);
|
||||
long double logl(long double);
|
||||
|
||||
double log10(double);
|
||||
float log10f(float);
|
||||
long double log10l(long double);
|
||||
|
||||
double log1p(double);
|
||||
float log1pf(float);
|
||||
long double log1pl(long double);
|
||||
|
||||
double log2(double);
|
||||
float log2f(float);
|
||||
long double log2l(long double);
|
||||
|
||||
double logb(double);
|
||||
float logbf(float);
|
||||
long double logbl(long double);
|
||||
|
||||
long lrint(double);
|
||||
long lrintf(float);
|
||||
long lrintl(long double);
|
||||
|
||||
long lround(double);
|
||||
long lroundf(float);
|
||||
long lroundl(long double);
|
||||
|
||||
double modf(double, double *);
|
||||
float modff(float, float *);
|
||||
long double modfl(long double, long double *);
|
||||
|
||||
double nan(const char *);
|
||||
float nanf(const char *);
|
||||
long double nanl(const char *);
|
||||
|
||||
double nearbyint(double);
|
||||
float nearbyintf(float);
|
||||
long double nearbyintl(long double);
|
||||
|
||||
double nextafter(double, double);
|
||||
float nextafterf(float, float);
|
||||
long double nextafterl(long double, long double);
|
||||
|
||||
double nexttoward(double, long double);
|
||||
float nexttowardf(float, long double);
|
||||
long double nexttowardl(long double, long double);
|
||||
|
||||
double pow(double, double);
|
||||
float powf(float, float);
|
||||
long double powl(long double, long double);
|
||||
|
||||
double remainder(double, double);
|
||||
float remainderf(float, float);
|
||||
long double remainderl(long double, long double);
|
||||
|
||||
double remquo(double, double, int *);
|
||||
float remquof(float, float, int *);
|
||||
long double remquol(long double, long double, int *);
|
||||
|
||||
double rint(double);
|
||||
float rintf(float);
|
||||
long double rintl(long double);
|
||||
|
||||
double round(double);
|
||||
float roundf(float);
|
||||
long double roundl(long double);
|
||||
|
||||
double scalbln(double, long);
|
||||
float scalblnf(float, long);
|
||||
long double scalblnl(long double, long);
|
||||
|
||||
double scalbn(double, int);
|
||||
float scalbnf(float, int);
|
||||
long double scalbnl(long double, int);
|
||||
|
||||
double sin(double);
|
||||
float sinf(float);
|
||||
long double sinl(long double);
|
||||
|
||||
double sinh(double);
|
||||
float sinhf(float);
|
||||
long double sinhl(long double);
|
||||
|
||||
double sqrt(double);
|
||||
float sqrtf(float);
|
||||
long double sqrtl(long double);
|
||||
|
||||
double tan(double);
|
||||
float tanf(float);
|
||||
long double tanl(long double);
|
||||
|
||||
double tanh(double);
|
||||
float tanhf(float);
|
||||
long double tanhl(long double);
|
||||
|
||||
double tgamma(double);
|
||||
float tgammaf(float);
|
||||
long double tgammal(long double);
|
||||
|
||||
double trunc(double);
|
||||
float truncf(float);
|
||||
long double truncl(long double);
|
||||
|
||||
|
||||
#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE)
|
||||
#undef MAXFLOAT
|
||||
#define MAXFLOAT 3.40282346638528859812e+38F
|
||||
#endif
|
||||
|
||||
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#define M_E 2.7182818284590452354 /* e */
|
||||
#define M_LOG2E 1.4426950408889634074 /* log_2 e */
|
||||
#define M_LOG10E 0.43429448190325182765 /* log_10 e */
|
||||
#define M_LN2 0.69314718055994530942 /* log_e 2 */
|
||||
#define M_LN10 2.30258509299404568402 /* log_e 10 */
|
||||
#define M_PI 3.14159265358979323846 /* pi */
|
||||
#define M_PI_2 1.57079632679489661923 /* pi/2 */
|
||||
#define M_PI_4 0.78539816339744830962 /* pi/4 */
|
||||
#define M_1_PI 0.31830988618379067154 /* 1/pi */
|
||||
#define M_2_PI 0.63661977236758134308 /* 2/pi */
|
||||
#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
|
||||
#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
|
||||
#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
|
||||
|
||||
extern int signgam;
|
||||
|
||||
double j0(double);
|
||||
double j1(double);
|
||||
double jn(int, double);
|
||||
|
||||
double y0(double);
|
||||
double y1(double);
|
||||
double yn(int, double);
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#define HUGE 3.40282346638528859812e+38F
|
||||
|
||||
double drem(double, double);
|
||||
float dremf(float, float);
|
||||
|
||||
int finite(double);
|
||||
int finitef(float);
|
||||
|
||||
double scalb(double, double);
|
||||
float scalbf(float, float);
|
||||
|
||||
double significand(double);
|
||||
float significandf(float);
|
||||
|
||||
double lgamma_r(double, int*);
|
||||
float lgammaf_r(float, int*);
|
||||
|
||||
float j0f(float);
|
||||
float j1f(float);
|
||||
float jnf(int, float);
|
||||
|
||||
float y0f(float);
|
||||
float y1f(float);
|
||||
float ynf(int, float);
|
||||
#endif
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
long double lgammal_r(long double, int*);
|
||||
|
||||
void sincos(double, double*, double*);
|
||||
void sincosf(float, float*, float*);
|
||||
void sincosl(long double, long double*, long double*);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
1
third_party/musl/ndk_musl_include/memory.h
vendored
Normal file
1
third_party/musl/ndk_musl_include/memory.h
vendored
Normal file
@ -0,0 +1 @@
|
||||
#include <string.h>
|
42
third_party/musl/ndk_musl_include/mntent.h
vendored
Normal file
42
third_party/musl/ndk_musl_include/mntent.h
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
#ifndef _MNTENT_H
|
||||
#define _MNTENT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define __NEED_FILE
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#define MOUNTED "/etc/mtab"
|
||||
|
||||
#define MNTTYPE_IGNORE "ignore"
|
||||
#define MNTTYPE_NFS "nfs"
|
||||
#define MNTTYPE_SWAP "swap"
|
||||
#define MNTOPT_DEFAULTS "defaults"
|
||||
#define MNTOPT_RO "ro"
|
||||
#define MNTOPT_RW "rw"
|
||||
#define MNTOPT_SUID "suid"
|
||||
#define MNTOPT_NOSUID "nosuid"
|
||||
#define MNTOPT_NOAUTO "noauto"
|
||||
|
||||
struct mntent {
|
||||
char *mnt_fsname;
|
||||
char *mnt_dir;
|
||||
char *mnt_type;
|
||||
char *mnt_opts;
|
||||
int mnt_freq;
|
||||
int mnt_passno;
|
||||
};
|
||||
|
||||
FILE *setmntent(const char *, const char *);
|
||||
int endmntent(FILE *);
|
||||
struct mntent *getmntent(FILE *);
|
||||
struct mntent *getmntent_r(FILE *, struct mntent *, char *, int);
|
||||
char *hasmntopt(const struct mntent *, const char *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
20
third_party/musl/ndk_musl_include/monetary.h
vendored
Normal file
20
third_party/musl/ndk_musl_include/monetary.h
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef _MONETARY_H
|
||||
#define _MONETARY_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_ssize_t
|
||||
#define __NEED_size_t
|
||||
#define __NEED_locale_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
30
third_party/musl/ndk_musl_include/mqueue.h
vendored
Normal file
30
third_party/musl/ndk_musl_include/mqueue.h
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef _MQUEUE_H
|
||||
#define _MQUEUE_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_size_t
|
||||
#define __NEED_ssize_t
|
||||
#define __NEED_pthread_attr_t
|
||||
#define __NEED_time_t
|
||||
#define __NEED_struct_timespec
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
typedef int mqd_t;
|
||||
struct mq_attr {
|
||||
long mq_flags, mq_maxmsg, mq_msgsize, mq_curmsgs, __unused[4];
|
||||
};
|
||||
struct sigevent;
|
||||
|
||||
#if _REDIR_TIME64
|
||||
__REDIR(mq_timedreceive, __mq_timedreceive_time64);
|
||||
__REDIR(mq_timedsend, __mq_timedsend_time64);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
55
third_party/musl/ndk_musl_include/net/ethernet.h
vendored
Normal file
55
third_party/musl/ndk_musl_include/net/ethernet.h
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
#ifndef _NET_ETHERNET_H
|
||||
#define _NET_ETHERNET_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
#include <netinet/if_ether.h>
|
||||
|
||||
struct ether_addr {
|
||||
uint8_t ether_addr_octet[ETH_ALEN];
|
||||
};
|
||||
|
||||
struct ether_header {
|
||||
uint8_t ether_dhost[ETH_ALEN];
|
||||
uint8_t ether_shost[ETH_ALEN];
|
||||
uint16_t ether_type;
|
||||
};
|
||||
|
||||
#define ETHERTYPE_PUP 0x0200
|
||||
#define ETHERTYPE_SPRITE 0x0500
|
||||
#define ETHERTYPE_IP 0x0800
|
||||
#define ETHERTYPE_ARP 0x0806
|
||||
#define ETHERTYPE_REVARP 0x8035
|
||||
#define ETHERTYPE_AT 0x809B
|
||||
#define ETHERTYPE_AARP 0x80F3
|
||||
#define ETHERTYPE_VLAN 0x8100
|
||||
#define ETHERTYPE_IPX 0x8137
|
||||
#define ETHERTYPE_IPV6 0x86dd
|
||||
#define ETHERTYPE_LOOPBACK 0x9000
|
||||
|
||||
|
||||
#define ETHER_ADDR_LEN ETH_ALEN
|
||||
#define ETHER_TYPE_LEN 2
|
||||
#define ETHER_CRC_LEN 4
|
||||
#define ETHER_HDR_LEN ETH_HLEN
|
||||
#define ETHER_MIN_LEN (ETH_ZLEN + ETHER_CRC_LEN)
|
||||
#define ETHER_MAX_LEN (ETH_FRAME_LEN + ETHER_CRC_LEN)
|
||||
|
||||
#define ETHER_IS_VALID_LEN(foo) \
|
||||
((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
|
||||
|
||||
#define ETHERTYPE_TRAIL 0x1000
|
||||
#define ETHERTYPE_NTRAILER 16
|
||||
|
||||
#define ETHERMTU ETH_DATA_LEN
|
||||
#define ETHERMIN (ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
141
third_party/musl/ndk_musl_include/net/if.h
vendored
Normal file
141
third_party/musl/ndk_musl_include/net/if.h
vendored
Normal file
@ -0,0 +1,141 @@
|
||||
#ifndef _NET_IF_H
|
||||
#define _NET_IF_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define IF_NAMESIZE 16
|
||||
|
||||
struct if_nameindex {
|
||||
unsigned int if_index;
|
||||
char *if_name;
|
||||
};
|
||||
|
||||
unsigned int if_nametoindex (const char *);
|
||||
char *if_indextoname (unsigned int, char *);
|
||||
struct if_nameindex *if_nameindex (void);
|
||||
void if_freenameindex (struct if_nameindex *);
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
|
||||
#include <sys/socket.h>
|
||||
|
||||
#define IFF_UP 0x1
|
||||
#define IFF_BROADCAST 0x2
|
||||
#define IFF_DEBUG 0x4
|
||||
#define IFF_LOOPBACK 0x8
|
||||
#define IFF_POINTOPOINT 0x10
|
||||
#define IFF_NOTRAILERS 0x20
|
||||
#define IFF_RUNNING 0x40
|
||||
#define IFF_NOARP 0x80
|
||||
#define IFF_PROMISC 0x100
|
||||
#define IFF_ALLMULTI 0x200
|
||||
#define IFF_MASTER 0x400
|
||||
#define IFF_SLAVE 0x800
|
||||
#define IFF_MULTICAST 0x1000
|
||||
#define IFF_PORTSEL 0x2000
|
||||
#define IFF_AUTOMEDIA 0x4000
|
||||
#define IFF_DYNAMIC 0x8000
|
||||
#define IFF_LOWER_UP 0x10000
|
||||
#define IFF_DORMANT 0x20000
|
||||
#define IFF_ECHO 0x40000
|
||||
#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST| \
|
||||
IFF_ECHO|IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
|
||||
|
||||
struct ifaddr {
|
||||
struct sockaddr ifa_addr;
|
||||
union {
|
||||
struct sockaddr ifu_broadaddr;
|
||||
struct sockaddr ifu_dstaddr;
|
||||
} ifa_ifu;
|
||||
struct iface *ifa_ifp;
|
||||
struct ifaddr *ifa_next;
|
||||
};
|
||||
|
||||
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
|
||||
#define ifa_dstaddr ifa_ifu.ifu_dstaddr
|
||||
|
||||
struct ifmap {
|
||||
unsigned long int mem_start;
|
||||
unsigned long int mem_end;
|
||||
unsigned short int base_addr;
|
||||
unsigned char irq;
|
||||
unsigned char dma;
|
||||
unsigned char port;
|
||||
};
|
||||
|
||||
#define IFHWADDRLEN 6
|
||||
#define IFNAMSIZ IF_NAMESIZE
|
||||
|
||||
struct ifreq {
|
||||
union {
|
||||
char ifrn_name[IFNAMSIZ];
|
||||
} ifr_ifrn;
|
||||
union {
|
||||
struct sockaddr ifru_addr;
|
||||
struct sockaddr ifru_dstaddr;
|
||||
struct sockaddr ifru_broadaddr;
|
||||
struct sockaddr ifru_netmask;
|
||||
struct sockaddr ifru_hwaddr;
|
||||
short int ifru_flags;
|
||||
int ifru_ivalue;
|
||||
int ifru_mtu;
|
||||
struct ifmap ifru_map;
|
||||
char ifru_slave[IFNAMSIZ];
|
||||
char ifru_newname[IFNAMSIZ];
|
||||
char *ifru_data;
|
||||
} ifr_ifru;
|
||||
};
|
||||
|
||||
#define ifr_name ifr_ifrn.ifrn_name
|
||||
#define ifr_hwaddr ifr_ifru.ifru_hwaddr
|
||||
#define ifr_addr ifr_ifru.ifru_addr
|
||||
#define ifr_dstaddr ifr_ifru.ifru_dstaddr
|
||||
#define ifr_broadaddr ifr_ifru.ifru_broadaddr
|
||||
#define ifr_netmask ifr_ifru.ifru_netmask
|
||||
#define ifr_flags ifr_ifru.ifru_flags
|
||||
#define ifr_metric ifr_ifru.ifru_ivalue
|
||||
#define ifr_mtu ifr_ifru.ifru_mtu
|
||||
#define ifr_map ifr_ifru.ifru_map
|
||||
#define ifr_slave ifr_ifru.ifru_slave
|
||||
#define ifr_data ifr_ifru.ifru_data
|
||||
#define ifr_ifindex ifr_ifru.ifru_ivalue
|
||||
#define ifr_bandwidth ifr_ifru.ifru_ivalue
|
||||
#define ifr_qlen ifr_ifru.ifru_ivalue
|
||||
#define ifr_newname ifr_ifru.ifru_newname
|
||||
#define _IOT_ifreq _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0)
|
||||
#define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0)
|
||||
#define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0)
|
||||
|
||||
struct ifconf {
|
||||
int ifc_len;
|
||||
union {
|
||||
char *ifcu_buf;
|
||||
struct ifreq *ifcu_req;
|
||||
} ifc_ifcu;
|
||||
};
|
||||
|
||||
#define ifc_buf ifc_ifcu.ifcu_buf
|
||||
#define ifc_req ifc_ifcu.ifcu_req
|
||||
#define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0)
|
||||
|
||||
#define __UAPI_DEF_IF_IFCONF 0
|
||||
#define __UAPI_DEF_IF_IFMAP 0
|
||||
#define __UAPI_DEF_IF_IFNAMSIZ 0
|
||||
#define __UAPI_DEF_IF_IFREQ 0
|
||||
#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
|
||||
#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
142
third_party/musl/ndk_musl_include/net/if_arp.h
vendored
Normal file
142
third_party/musl/ndk_musl_include/net/if_arp.h
vendored
Normal file
@ -0,0 +1,142 @@
|
||||
/* Nonstandard header */
|
||||
#ifndef _NET_IF_ARP_H
|
||||
#define _NET_IF_ARP_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
#define MAX_ADDR_LEN 7
|
||||
|
||||
#define ARPOP_REQUEST 1
|
||||
#define ARPOP_REPLY 2
|
||||
#define ARPOP_RREQUEST 3
|
||||
#define ARPOP_RREPLY 4
|
||||
#define ARPOP_InREQUEST 8
|
||||
#define ARPOP_InREPLY 9
|
||||
#define ARPOP_NAK 10
|
||||
|
||||
struct arphdr {
|
||||
uint16_t ar_hrd;
|
||||
uint16_t ar_pro;
|
||||
uint8_t ar_hln;
|
||||
uint8_t ar_pln;
|
||||
uint16_t ar_op;
|
||||
};
|
||||
|
||||
|
||||
#define ARPHRD_NETROM 0
|
||||
#define ARPHRD_ETHER 1
|
||||
#define ARPHRD_EETHER 2
|
||||
#define ARPHRD_AX25 3
|
||||
#define ARPHRD_PRONET 4
|
||||
#define ARPHRD_CHAOS 5
|
||||
#define ARPHRD_IEEE802 6
|
||||
#define ARPHRD_ARCNET 7
|
||||
#define ARPHRD_APPLETLK 8
|
||||
#define ARPHRD_DLCI 15
|
||||
#define ARPHRD_ATM 19
|
||||
#define ARPHRD_METRICOM 23
|
||||
#define ARPHRD_IEEE1394 24
|
||||
#define ARPHRD_EUI64 27
|
||||
#define ARPHRD_INFINIBAND 32
|
||||
#define ARPHRD_SLIP 256
|
||||
#define ARPHRD_CSLIP 257
|
||||
#define ARPHRD_SLIP6 258
|
||||
#define ARPHRD_CSLIP6 259
|
||||
#define ARPHRD_RSRVD 260
|
||||
#define ARPHRD_ADAPT 264
|
||||
#define ARPHRD_ROSE 270
|
||||
#define ARPHRD_X25 271
|
||||
#define ARPHRD_HWX25 272
|
||||
#define ARPHRD_CAN 280
|
||||
#define ARPHRD_PPP 512
|
||||
#define ARPHRD_CISCO 513
|
||||
#define ARPHRD_HDLC ARPHRD_CISCO
|
||||
#define ARPHRD_LAPB 516
|
||||
#define ARPHRD_DDCMP 517
|
||||
#define ARPHRD_RAWHDLC 518
|
||||
#define ARPHRD_RAWIP 519
|
||||
|
||||
#define ARPHRD_TUNNEL 768
|
||||
#define ARPHRD_TUNNEL6 769
|
||||
#define ARPHRD_FRAD 770
|
||||
#define ARPHRD_SKIP 771
|
||||
#define ARPHRD_LOOPBACK 772
|
||||
#define ARPHRD_LOCALTLK 773
|
||||
#define ARPHRD_FDDI 774
|
||||
#define ARPHRD_BIF 775
|
||||
#define ARPHRD_SIT 776
|
||||
#define ARPHRD_IPDDP 777
|
||||
#define ARPHRD_IPGRE 778
|
||||
#define ARPHRD_PIMREG 779
|
||||
#define ARPHRD_HIPPI 780
|
||||
#define ARPHRD_ASH 781
|
||||
#define ARPHRD_ECONET 782
|
||||
#define ARPHRD_IRDA 783
|
||||
#define ARPHRD_FCPP 784
|
||||
#define ARPHRD_FCAL 785
|
||||
#define ARPHRD_FCPL 786
|
||||
#define ARPHRD_FCFABRIC 787
|
||||
#define ARPHRD_IEEE802_TR 800
|
||||
#define ARPHRD_IEEE80211 801
|
||||
#define ARPHRD_IEEE80211_PRISM 802
|
||||
#define ARPHRD_IEEE80211_RADIOTAP 803
|
||||
#define ARPHRD_IEEE802154 804
|
||||
#define ARPHRD_IEEE802154_MONITOR 805
|
||||
#define ARPHRD_PHONET 820
|
||||
#define ARPHRD_PHONET_PIPE 821
|
||||
#define ARPHRD_CAIF 822
|
||||
#define ARPHRD_IP6GRE 823
|
||||
#define ARPHRD_NETLINK 824
|
||||
#define ARPHRD_6LOWPAN 825
|
||||
#define ARPHRD_VSOCKMON 826
|
||||
|
||||
#define ARPHRD_VOID 0xFFFF
|
||||
#define ARPHRD_NONE 0xFFFE
|
||||
|
||||
struct arpreq {
|
||||
struct sockaddr arp_pa;
|
||||
struct sockaddr arp_ha;
|
||||
int arp_flags;
|
||||
struct sockaddr arp_netmask;
|
||||
char arp_dev[16];
|
||||
};
|
||||
|
||||
struct arpreq_old {
|
||||
struct sockaddr arp_pa;
|
||||
struct sockaddr arp_ha;
|
||||
int arp_flags;
|
||||
struct sockaddr arp_netmask;
|
||||
};
|
||||
|
||||
#define ATF_COM 0x02
|
||||
#define ATF_PERM 0x04
|
||||
#define ATF_PUBL 0x08
|
||||
#define ATF_USETRAILERS 0x10
|
||||
#define ATF_NETMASK 0x20
|
||||
#define ATF_DONTPUB 0x40
|
||||
#define ATF_MAGIC 0x80
|
||||
|
||||
#define ARPD_UPDATE 0x01
|
||||
#define ARPD_LOOKUP 0x02
|
||||
#define ARPD_FLUSH 0x03
|
||||
|
||||
struct arpd_request {
|
||||
unsigned short req;
|
||||
uint32_t ip;
|
||||
unsigned long dev;
|
||||
unsigned long stamp;
|
||||
unsigned long updated;
|
||||
unsigned char ha[MAX_ADDR_LEN];
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
124
third_party/musl/ndk_musl_include/net/route.h
vendored
Normal file
124
third_party/musl/ndk_musl_include/net/route.h
vendored
Normal file
@ -0,0 +1,124 @@
|
||||
#ifndef _NET_ROUTE_H
|
||||
#define _NET_ROUTE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
|
||||
struct rtentry {
|
||||
unsigned long int rt_pad1;
|
||||
struct sockaddr rt_dst;
|
||||
struct sockaddr rt_gateway;
|
||||
struct sockaddr rt_genmask;
|
||||
unsigned short int rt_flags;
|
||||
short int rt_pad2;
|
||||
unsigned long int rt_pad3;
|
||||
unsigned char rt_tos;
|
||||
unsigned char rt_class;
|
||||
short int rt_pad4[sizeof(long)/2-1];
|
||||
short int rt_metric;
|
||||
char *rt_dev;
|
||||
unsigned long int rt_mtu;
|
||||
unsigned long int rt_window;
|
||||
unsigned short int rt_irtt;
|
||||
};
|
||||
|
||||
#define rt_mss rt_mtu
|
||||
|
||||
|
||||
struct in6_rtmsg {
|
||||
struct in6_addr rtmsg_dst;
|
||||
struct in6_addr rtmsg_src;
|
||||
struct in6_addr rtmsg_gateway;
|
||||
uint32_t rtmsg_type;
|
||||
uint16_t rtmsg_dst_len;
|
||||
uint16_t rtmsg_src_len;
|
||||
uint32_t rtmsg_metric;
|
||||
unsigned long int rtmsg_info;
|
||||
uint32_t rtmsg_flags;
|
||||
int rtmsg_ifindex;
|
||||
};
|
||||
|
||||
|
||||
#define RTF_UP 0x0001
|
||||
#define RTF_GATEWAY 0x0002
|
||||
|
||||
#define RTF_HOST 0x0004
|
||||
#define RTF_REINSTATE 0x0008
|
||||
#define RTF_DYNAMIC 0x0010
|
||||
#define RTF_MODIFIED 0x0020
|
||||
#define RTF_MTU 0x0040
|
||||
#define RTF_MSS RTF_MTU
|
||||
#define RTF_WINDOW 0x0080
|
||||
#define RTF_IRTT 0x0100
|
||||
#define RTF_REJECT 0x0200
|
||||
#define RTF_STATIC 0x0400
|
||||
#define RTF_XRESOLVE 0x0800
|
||||
#define RTF_NOFORWARD 0x1000
|
||||
#define RTF_THROW 0x2000
|
||||
#define RTF_NOPMTUDISC 0x4000
|
||||
|
||||
#define RTF_DEFAULT 0x00010000
|
||||
#define RTF_ALLONLINK 0x00020000
|
||||
#define RTF_ADDRCONF 0x00040000
|
||||
|
||||
#define RTF_LINKRT 0x00100000
|
||||
#define RTF_NONEXTHOP 0x00200000
|
||||
|
||||
#define RTF_CACHE 0x01000000
|
||||
#define RTF_FLOW 0x02000000
|
||||
#define RTF_POLICY 0x04000000
|
||||
|
||||
#define RTCF_VALVE 0x00200000
|
||||
#define RTCF_MASQ 0x00400000
|
||||
#define RTCF_NAT 0x00800000
|
||||
#define RTCF_DOREDIRECT 0x01000000
|
||||
#define RTCF_LOG 0x02000000
|
||||
#define RTCF_DIRECTSRC 0x04000000
|
||||
|
||||
#define RTF_LOCAL 0x80000000
|
||||
#define RTF_INTERFACE 0x40000000
|
||||
#define RTF_MULTICAST 0x20000000
|
||||
#define RTF_BROADCAST 0x10000000
|
||||
#define RTF_NAT 0x08000000
|
||||
|
||||
#define RTF_ADDRCLASSMASK 0xF8000000
|
||||
#define RT_ADDRCLASS(flags) ((uint32_t) flags >> 23)
|
||||
|
||||
#define RT_TOS(tos) ((tos) & IPTOS_TOS_MASK)
|
||||
|
||||
#define RT_LOCALADDR(flags) ((flags & RTF_ADDRCLASSMASK) \
|
||||
== (RTF_LOCAL|RTF_INTERFACE))
|
||||
|
||||
#define RT_CLASS_UNSPEC 0
|
||||
#define RT_CLASS_DEFAULT 253
|
||||
|
||||
#define RT_CLASS_MAIN 254
|
||||
#define RT_CLASS_LOCAL 255
|
||||
#define RT_CLASS_MAX 255
|
||||
|
||||
|
||||
#define RTMSG_ACK NLMSG_ACK
|
||||
#define RTMSG_OVERRUN NLMSG_OVERRUN
|
||||
|
||||
#define RTMSG_NEWDEVICE 0x11
|
||||
#define RTMSG_DELDEVICE 0x12
|
||||
#define RTMSG_NEWROUTE 0x21
|
||||
#define RTMSG_DELROUTE 0x22
|
||||
#define RTMSG_NEWRULE 0x31
|
||||
#define RTMSG_DELRULE 0x32
|
||||
#define RTMSG_CONTROL 0x40
|
||||
|
||||
#define RTMSG_AR_FAILED 0x51
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
154
third_party/musl/ndk_musl_include/netdb.h
vendored
Normal file
154
third_party/musl/ndk_musl_include/netdb.h
vendored
Normal file
@ -0,0 +1,154 @@
|
||||
#ifndef _NETDB_H
|
||||
#define _NETDB_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#define __NEED_size_t
|
||||
#include <bits/alltypes.h>
|
||||
#endif
|
||||
|
||||
struct addrinfo {
|
||||
int ai_flags;
|
||||
int ai_family;
|
||||
int ai_socktype;
|
||||
int ai_protocol;
|
||||
socklen_t ai_addrlen;
|
||||
struct sockaddr *ai_addr;
|
||||
char *ai_canonname;
|
||||
struct addrinfo *ai_next;
|
||||
};
|
||||
|
||||
#define AI_PASSIVE 0x01
|
||||
#define AI_CANONNAME 0x02
|
||||
#define AI_NUMERICHOST 0x04
|
||||
#define AI_V4MAPPED 0x08
|
||||
#define AI_ALL 0x10
|
||||
#define AI_ADDRCONFIG 0x20
|
||||
#define AI_NUMERICSERV 0x400
|
||||
|
||||
|
||||
#define NI_NUMERICHOST 0x01
|
||||
#define NI_NUMERICSERV 0x02
|
||||
#define NI_NOFQDN 0x04
|
||||
#define NI_NAMEREQD 0x08
|
||||
#define NI_DGRAM 0x10
|
||||
#define NI_NUMERICSCOPE 0x100
|
||||
|
||||
#define EAI_BADFLAGS -1
|
||||
#define EAI_NONAME -2
|
||||
#define EAI_AGAIN -3
|
||||
#define EAI_FAIL -4
|
||||
#define EAI_FAMILY -6
|
||||
#define EAI_SOCKTYPE -7
|
||||
#define EAI_SERVICE -8
|
||||
#define EAI_MEMORY -10
|
||||
#define EAI_SYSTEM -11
|
||||
#define EAI_OVERFLOW -12
|
||||
|
||||
int getaddrinfo (const char *__restrict, const char *__restrict, const struct addrinfo *__restrict, struct addrinfo **__restrict);
|
||||
void freeaddrinfo (struct addrinfo *);
|
||||
int getnameinfo (const struct sockaddr *__restrict, socklen_t, char *__restrict, socklen_t, char *__restrict, socklen_t, int);
|
||||
const char *gai_strerror(int);
|
||||
|
||||
|
||||
/* Legacy functions follow (marked OBsolete in SUS) */
|
||||
|
||||
struct netent {
|
||||
char *n_name;
|
||||
char **n_aliases;
|
||||
int n_addrtype;
|
||||
uint32_t n_net;
|
||||
};
|
||||
|
||||
struct hostent {
|
||||
char *h_name;
|
||||
char **h_aliases;
|
||||
int h_addrtype;
|
||||
int h_length;
|
||||
char **h_addr_list;
|
||||
};
|
||||
#define h_addr h_addr_list[0]
|
||||
|
||||
struct servent {
|
||||
char *s_name;
|
||||
char **s_aliases;
|
||||
int s_port;
|
||||
char *s_proto;
|
||||
};
|
||||
|
||||
struct protoent {
|
||||
char *p_name;
|
||||
char **p_aliases;
|
||||
int p_proto;
|
||||
};
|
||||
|
||||
void sethostent (int);
|
||||
void endhostent (void);
|
||||
struct hostent *gethostent (void);
|
||||
|
||||
void setnetent (int);
|
||||
void endnetent (void);
|
||||
struct netent *getnetent (void);
|
||||
struct netent *getnetbyaddr (uint32_t, int);
|
||||
struct netent *getnetbyname (const char *);
|
||||
|
||||
void setservent (int);
|
||||
void endservent (void);
|
||||
struct servent *getservent (void);
|
||||
struct servent *getservbyname (const char *, const char *);
|
||||
struct servent *getservbyport (int, const char *);
|
||||
|
||||
void setprotoent (int);
|
||||
void endprotoent (void);
|
||||
struct protoent *getprotoent (void);
|
||||
struct protoent *getprotobyname (const char *);
|
||||
struct protoent *getprotobynumber (int);
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_POSIX_SOURCE) \
|
||||
|| (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE+0 < 200809L) \
|
||||
|| (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700)
|
||||
struct hostent *gethostbyname (const char *);
|
||||
struct hostent *gethostbyaddr (const void *, socklen_t, int);
|
||||
#ifdef __GNUC__
|
||||
__attribute__((const))
|
||||
#endif
|
||||
int *__h_errno_location(void);
|
||||
#define h_errno (*__h_errno_location())
|
||||
#define HOST_NOT_FOUND 1
|
||||
#define TRY_AGAIN 2
|
||||
#define NO_RECOVERY 3
|
||||
#define NO_DATA 4
|
||||
#define NO_ADDRESS NO_DATA
|
||||
#endif
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
void herror(const char *);
|
||||
const char *hstrerror(int);
|
||||
int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *);
|
||||
int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *);
|
||||
struct hostent *gethostbyname2(const char *, int);
|
||||
int gethostbyaddr_r(const void *, socklen_t, int, struct hostent *, char *, size_t, struct hostent **, int *);
|
||||
#define EAI_NODATA -5
|
||||
#define EAI_ADDRFAMILY -9
|
||||
#define EAI_INPROGRESS -100
|
||||
#define EAI_CANCELED -101
|
||||
#define EAI_NOTCANCELED -102
|
||||
#define EAI_ALLDONE -103
|
||||
#define EAI_INTR -104
|
||||
#define EAI_IDN_ENCODE -105
|
||||
#define NI_MAXHOST 255
|
||||
#define NI_MAXSERV 32
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
19
third_party/musl/ndk_musl_include/netinet/ether.h
vendored
Normal file
19
third_party/musl/ndk_musl_include/netinet/ether.h
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
#ifndef _NETINET_ETHER_H
|
||||
#define _NETINET_ETHER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <netinet/if_ether.h>
|
||||
|
||||
char *ether_ntoa (const struct ether_addr *);
|
||||
struct ether_addr *ether_aton (const char *);
|
||||
char *ether_ntoa_r (const struct ether_addr *, char *);
|
||||
struct ether_addr *ether_aton_r (const char *, struct ether_addr *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
305
third_party/musl/ndk_musl_include/netinet/icmp6.h
vendored
Normal file
305
third_party/musl/ndk_musl_include/netinet/icmp6.h
vendored
Normal file
@ -0,0 +1,305 @@
|
||||
#ifndef _NETINET_ICMP6_H
|
||||
#define _NETINET_ICMP6_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
#define ICMP6_FILTER 1
|
||||
|
||||
#define ICMP6_FILTER_BLOCK 1
|
||||
#define ICMP6_FILTER_PASS 2
|
||||
#define ICMP6_FILTER_BLOCKOTHERS 3
|
||||
#define ICMP6_FILTER_PASSONLY 4
|
||||
|
||||
struct icmp6_filter {
|
||||
uint32_t icmp6_filt[8];
|
||||
};
|
||||
|
||||
struct icmp6_hdr {
|
||||
uint8_t icmp6_type;
|
||||
uint8_t icmp6_code;
|
||||
uint16_t icmp6_cksum;
|
||||
union {
|
||||
uint32_t icmp6_un_data32[1];
|
||||
uint16_t icmp6_un_data16[2];
|
||||
uint8_t icmp6_un_data8[4];
|
||||
} icmp6_dataun;
|
||||
};
|
||||
|
||||
#define icmp6_data32 icmp6_dataun.icmp6_un_data32
|
||||
#define icmp6_data16 icmp6_dataun.icmp6_un_data16
|
||||
#define icmp6_data8 icmp6_dataun.icmp6_un_data8
|
||||
#define icmp6_pptr icmp6_data32[0]
|
||||
#define icmp6_mtu icmp6_data32[0]
|
||||
#define icmp6_id icmp6_data16[0]
|
||||
#define icmp6_seq icmp6_data16[1]
|
||||
#define icmp6_maxdelay icmp6_data16[0]
|
||||
|
||||
#define ICMP6_DST_UNREACH 1
|
||||
#define ICMP6_PACKET_TOO_BIG 2
|
||||
#define ICMP6_TIME_EXCEEDED 3
|
||||
#define ICMP6_PARAM_PROB 4
|
||||
|
||||
#define ICMP6_INFOMSG_MASK 0x80
|
||||
|
||||
#define ICMP6_ECHO_REQUEST 128
|
||||
#define ICMP6_ECHO_REPLY 129
|
||||
#define MLD_LISTENER_QUERY 130
|
||||
#define MLD_LISTENER_REPORT 131
|
||||
#define MLD_LISTENER_REDUCTION 132
|
||||
|
||||
#define ICMP6_DST_UNREACH_NOROUTE 0
|
||||
#define ICMP6_DST_UNREACH_ADMIN 1
|
||||
#define ICMP6_DST_UNREACH_BEYONDSCOPE 2
|
||||
#define ICMP6_DST_UNREACH_ADDR 3
|
||||
#define ICMP6_DST_UNREACH_NOPORT 4
|
||||
|
||||
#define ICMP6_TIME_EXCEED_TRANSIT 0
|
||||
#define ICMP6_TIME_EXCEED_REASSEMBLY 1
|
||||
|
||||
#define ICMP6_PARAMPROB_HEADER 0
|
||||
#define ICMP6_PARAMPROB_NEXTHEADER 1
|
||||
#define ICMP6_PARAMPROB_OPTION 2
|
||||
|
||||
#define ICMP6_FILTER_WILLPASS(type, filterp) \
|
||||
((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)
|
||||
|
||||
#define ICMP6_FILTER_WILLBLOCK(type, filterp) \
|
||||
((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)
|
||||
|
||||
#define ICMP6_FILTER_SETPASS(type, filterp) \
|
||||
((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31))))
|
||||
|
||||
#define ICMP6_FILTER_SETBLOCK(type, filterp) \
|
||||
((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31))))
|
||||
|
||||
#define ICMP6_FILTER_SETPASSALL(filterp) \
|
||||
memset (filterp, 0, sizeof (struct icmp6_filter));
|
||||
|
||||
#define ICMP6_FILTER_SETBLOCKALL(filterp) \
|
||||
memset (filterp, 0xFF, sizeof (struct icmp6_filter));
|
||||
|
||||
#define ND_ROUTER_SOLICIT 133
|
||||
#define ND_ROUTER_ADVERT 134
|
||||
#define ND_NEIGHBOR_SOLICIT 135
|
||||
#define ND_NEIGHBOR_ADVERT 136
|
||||
#define ND_REDIRECT 137
|
||||
|
||||
struct nd_router_solicit {
|
||||
struct icmp6_hdr nd_rs_hdr;
|
||||
};
|
||||
|
||||
#define nd_rs_type nd_rs_hdr.icmp6_type
|
||||
#define nd_rs_code nd_rs_hdr.icmp6_code
|
||||
#define nd_rs_cksum nd_rs_hdr.icmp6_cksum
|
||||
#define nd_rs_reserved nd_rs_hdr.icmp6_data32[0]
|
||||
|
||||
struct nd_router_advert {
|
||||
struct icmp6_hdr nd_ra_hdr;
|
||||
uint32_t nd_ra_reachable;
|
||||
uint32_t nd_ra_retransmit;
|
||||
};
|
||||
|
||||
#define nd_ra_type nd_ra_hdr.icmp6_type
|
||||
#define nd_ra_code nd_ra_hdr.icmp6_code
|
||||
#define nd_ra_cksum nd_ra_hdr.icmp6_cksum
|
||||
#define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0]
|
||||
#define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1]
|
||||
#define ND_RA_FLAG_MANAGED 0x80
|
||||
#define ND_RA_FLAG_OTHER 0x40
|
||||
#define ND_RA_FLAG_HOME_AGENT 0x20
|
||||
#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1]
|
||||
|
||||
struct nd_neighbor_solicit {
|
||||
struct icmp6_hdr nd_ns_hdr;
|
||||
struct in6_addr nd_ns_target;
|
||||
};
|
||||
|
||||
#define nd_ns_type nd_ns_hdr.icmp6_type
|
||||
#define nd_ns_code nd_ns_hdr.icmp6_code
|
||||
#define nd_ns_cksum nd_ns_hdr.icmp6_cksum
|
||||
#define nd_ns_reserved nd_ns_hdr.icmp6_data32[0]
|
||||
|
||||
struct nd_neighbor_advert {
|
||||
struct icmp6_hdr nd_na_hdr;
|
||||
struct in6_addr nd_na_target;
|
||||
};
|
||||
|
||||
#define nd_na_type nd_na_hdr.icmp6_type
|
||||
#define nd_na_code nd_na_hdr.icmp6_code
|
||||
#define nd_na_cksum nd_na_hdr.icmp6_cksum
|
||||
#define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0]
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
#define ND_NA_FLAG_ROUTER 0x80000000
|
||||
#define ND_NA_FLAG_SOLICITED 0x40000000
|
||||
#define ND_NA_FLAG_OVERRIDE 0x20000000
|
||||
#else
|
||||
#define ND_NA_FLAG_ROUTER 0x00000080
|
||||
#define ND_NA_FLAG_SOLICITED 0x00000040
|
||||
#define ND_NA_FLAG_OVERRIDE 0x00000020
|
||||
#endif
|
||||
|
||||
struct nd_redirect {
|
||||
struct icmp6_hdr nd_rd_hdr;
|
||||
struct in6_addr nd_rd_target;
|
||||
struct in6_addr nd_rd_dst;
|
||||
};
|
||||
|
||||
#define nd_rd_type nd_rd_hdr.icmp6_type
|
||||
#define nd_rd_code nd_rd_hdr.icmp6_code
|
||||
#define nd_rd_cksum nd_rd_hdr.icmp6_cksum
|
||||
#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0]
|
||||
|
||||
struct nd_opt_hdr {
|
||||
uint8_t nd_opt_type;
|
||||
uint8_t nd_opt_len;
|
||||
};
|
||||
|
||||
#define ND_OPT_SOURCE_LINKADDR 1
|
||||
#define ND_OPT_TARGET_LINKADDR 2
|
||||
#define ND_OPT_PREFIX_INFORMATION 3
|
||||
#define ND_OPT_REDIRECTED_HEADER 4
|
||||
#define ND_OPT_MTU 5
|
||||
#define ND_OPT_RTR_ADV_INTERVAL 7
|
||||
#define ND_OPT_HOME_AGENT_INFO 8
|
||||
|
||||
struct nd_opt_prefix_info {
|
||||
uint8_t nd_opt_pi_type;
|
||||
uint8_t nd_opt_pi_len;
|
||||
uint8_t nd_opt_pi_prefix_len;
|
||||
uint8_t nd_opt_pi_flags_reserved;
|
||||
uint32_t nd_opt_pi_valid_time;
|
||||
uint32_t nd_opt_pi_preferred_time;
|
||||
uint32_t nd_opt_pi_reserved2;
|
||||
struct in6_addr nd_opt_pi_prefix;
|
||||
};
|
||||
|
||||
#define ND_OPT_PI_FLAG_ONLINK 0x80
|
||||
#define ND_OPT_PI_FLAG_AUTO 0x40
|
||||
#define ND_OPT_PI_FLAG_RADDR 0x20
|
||||
|
||||
struct nd_opt_rd_hdr {
|
||||
uint8_t nd_opt_rh_type;
|
||||
uint8_t nd_opt_rh_len;
|
||||
uint16_t nd_opt_rh_reserved1;
|
||||
uint32_t nd_opt_rh_reserved2;
|
||||
};
|
||||
|
||||
struct nd_opt_mtu {
|
||||
uint8_t nd_opt_mtu_type;
|
||||
uint8_t nd_opt_mtu_len;
|
||||
uint16_t nd_opt_mtu_reserved;
|
||||
uint32_t nd_opt_mtu_mtu;
|
||||
};
|
||||
|
||||
struct mld_hdr {
|
||||
struct icmp6_hdr mld_icmp6_hdr;
|
||||
struct in6_addr mld_addr;
|
||||
};
|
||||
|
||||
#define mld_type mld_icmp6_hdr.icmp6_type
|
||||
#define mld_code mld_icmp6_hdr.icmp6_code
|
||||
#define mld_cksum mld_icmp6_hdr.icmp6_cksum
|
||||
#define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0]
|
||||
#define mld_reserved mld_icmp6_hdr.icmp6_data16[1]
|
||||
|
||||
#define ICMP6_ROUTER_RENUMBERING 138
|
||||
|
||||
struct icmp6_router_renum {
|
||||
struct icmp6_hdr rr_hdr;
|
||||
uint8_t rr_segnum;
|
||||
uint8_t rr_flags;
|
||||
uint16_t rr_maxdelay;
|
||||
uint32_t rr_reserved;
|
||||
};
|
||||
|
||||
#define rr_type rr_hdr.icmp6_type
|
||||
#define rr_code rr_hdr.icmp6_code
|
||||
#define rr_cksum rr_hdr.icmp6_cksum
|
||||
#define rr_seqnum rr_hdr.icmp6_data32[0]
|
||||
|
||||
#define ICMP6_RR_FLAGS_TEST 0x80
|
||||
#define ICMP6_RR_FLAGS_REQRESULT 0x40
|
||||
#define ICMP6_RR_FLAGS_FORCEAPPLY 0x20
|
||||
#define ICMP6_RR_FLAGS_SPECSITE 0x10
|
||||
#define ICMP6_RR_FLAGS_PREVDONE 0x08
|
||||
|
||||
struct rr_pco_match {
|
||||
uint8_t rpm_code;
|
||||
uint8_t rpm_len;
|
||||
uint8_t rpm_ordinal;
|
||||
uint8_t rpm_matchlen;
|
||||
uint8_t rpm_minlen;
|
||||
uint8_t rpm_maxlen;
|
||||
uint16_t rpm_reserved;
|
||||
struct in6_addr rpm_prefix;
|
||||
};
|
||||
|
||||
#define RPM_PCO_ADD 1
|
||||
#define RPM_PCO_CHANGE 2
|
||||
#define RPM_PCO_SETGLOBAL 3
|
||||
|
||||
struct rr_pco_use {
|
||||
uint8_t rpu_uselen;
|
||||
uint8_t rpu_keeplen;
|
||||
uint8_t rpu_ramask;
|
||||
uint8_t rpu_raflags;
|
||||
uint32_t rpu_vltime;
|
||||
uint32_t rpu_pltime;
|
||||
uint32_t rpu_flags;
|
||||
struct in6_addr rpu_prefix;
|
||||
};
|
||||
|
||||
#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x20
|
||||
#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x10
|
||||
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80000000
|
||||
#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40000000
|
||||
#else
|
||||
#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80
|
||||
#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40
|
||||
#endif
|
||||
|
||||
struct rr_result {
|
||||
uint16_t rrr_flags;
|
||||
uint8_t rrr_ordinal;
|
||||
uint8_t rrr_matchedlen;
|
||||
uint32_t rrr_ifid;
|
||||
struct in6_addr rrr_prefix;
|
||||
};
|
||||
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
#define ICMP6_RR_RESULT_FLAGS_OOB 0x0002
|
||||
#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001
|
||||
#else
|
||||
#define ICMP6_RR_RESULT_FLAGS_OOB 0x0200
|
||||
#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0100
|
||||
#endif
|
||||
|
||||
struct nd_opt_adv_interval {
|
||||
uint8_t nd_opt_adv_interval_type;
|
||||
uint8_t nd_opt_adv_interval_len;
|
||||
uint16_t nd_opt_adv_interval_reserved;
|
||||
uint32_t nd_opt_adv_interval_ival;
|
||||
};
|
||||
|
||||
struct nd_opt_home_agent_info {
|
||||
uint8_t nd_opt_home_agent_info_type;
|
||||
uint8_t nd_opt_home_agent_info_len;
|
||||
uint16_t nd_opt_home_agent_info_reserved;
|
||||
uint16_t nd_opt_home_agent_info_preference;
|
||||
uint16_t nd_opt_home_agent_info_lifetime;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
147
third_party/musl/ndk_musl_include/netinet/if_ether.h
vendored
Normal file
147
third_party/musl/ndk_musl_include/netinet/if_ether.h
vendored
Normal file
@ -0,0 +1,147 @@
|
||||
#ifndef _NETINET_IF_ETHER_H
|
||||
#define _NETINET_IF_ETHER_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#define ETH_ALEN 6
|
||||
#define ETH_TLEN 2
|
||||
#define ETH_HLEN 14
|
||||
#define ETH_ZLEN 60
|
||||
#define ETH_DATA_LEN 1500
|
||||
#define ETH_FRAME_LEN 1514
|
||||
#define ETH_FCS_LEN 4
|
||||
#define ETH_MIN_MTU 68
|
||||
#define ETH_MAX_MTU 0xFFFFU
|
||||
|
||||
#define ETH_P_LOOP 0x0060
|
||||
#define ETH_P_PUP 0x0200
|
||||
#define ETH_P_PUPAT 0x0201
|
||||
#define ETH_P_TSN 0x22F0
|
||||
#define ETH_P_ERSPAN2 0x22EB
|
||||
#define ETH_P_IP 0x0800
|
||||
#define ETH_P_X25 0x0805
|
||||
#define ETH_P_ARP 0x0806
|
||||
#define ETH_P_BPQ 0x08FF
|
||||
#define ETH_P_IEEEPUP 0x0a00
|
||||
#define ETH_P_IEEEPUPAT 0x0a01
|
||||
#define ETH_P_BATMAN 0x4305
|
||||
#define ETH_P_DEC 0x6000
|
||||
#define ETH_P_DNA_DL 0x6001
|
||||
#define ETH_P_DNA_RC 0x6002
|
||||
#define ETH_P_DNA_RT 0x6003
|
||||
#define ETH_P_LAT 0x6004
|
||||
#define ETH_P_DIAG 0x6005
|
||||
#define ETH_P_CUST 0x6006
|
||||
#define ETH_P_SCA 0x6007
|
||||
#define ETH_P_TEB 0x6558
|
||||
#define ETH_P_RARP 0x8035
|
||||
#define ETH_P_ATALK 0x809B
|
||||
#define ETH_P_AARP 0x80F3
|
||||
#define ETH_P_8021Q 0x8100
|
||||
#define ETH_P_IPX 0x8137
|
||||
#define ETH_P_IPV6 0x86DD
|
||||
#define ETH_P_PAUSE 0x8808
|
||||
#define ETH_P_SLOW 0x8809
|
||||
#define ETH_P_WCCP 0x883E
|
||||
#define ETH_P_MPLS_UC 0x8847
|
||||
#define ETH_P_MPLS_MC 0x8848
|
||||
#define ETH_P_ATMMPOA 0x884c
|
||||
#define ETH_P_PPP_DISC 0x8863
|
||||
#define ETH_P_PPP_SES 0x8864
|
||||
#define ETH_P_LINK_CTL 0x886c
|
||||
#define ETH_P_ATMFATE 0x8884
|
||||
#define ETH_P_PAE 0x888E
|
||||
#define ETH_P_AOE 0x88A2
|
||||
#define ETH_P_8021AD 0x88A8
|
||||
#define ETH_P_802_EX1 0x88B5
|
||||
#define ETH_P_ERSPAN 0x88BE
|
||||
#define ETH_P_PREAUTH 0x88C7
|
||||
#define ETH_P_TIPC 0x88CA
|
||||
#define ETH_P_LLDP 0x88CC
|
||||
#define ETH_P_MACSEC 0x88E5
|
||||
#define ETH_P_8021AH 0x88E7
|
||||
#define ETH_P_MVRP 0x88F5
|
||||
#define ETH_P_1588 0x88F7
|
||||
#define ETH_P_NCSI 0x88F8
|
||||
#define ETH_P_PRP 0x88FB
|
||||
#define ETH_P_FCOE 0x8906
|
||||
#define ETH_P_TDLS 0x890D
|
||||
#define ETH_P_FIP 0x8914
|
||||
#define ETH_P_IBOE 0x8915
|
||||
#define ETH_P_80221 0x8917
|
||||
#define ETH_P_HSR 0x892F
|
||||
#define ETH_P_NSH 0x894F
|
||||
#define ETH_P_LOOPBACK 0x9000
|
||||
#define ETH_P_QINQ1 0x9100
|
||||
#define ETH_P_QINQ2 0x9200
|
||||
#define ETH_P_QINQ3 0x9300
|
||||
#define ETH_P_EDSA 0xDADA
|
||||
#define ETH_P_DSA_8021Q 0xDADB
|
||||
#define ETH_P_IFE 0xED3E
|
||||
#define ETH_P_AF_IUCV 0xFBFB
|
||||
|
||||
#define ETH_P_802_3_MIN 0x0600
|
||||
|
||||
#define ETH_P_802_3 0x0001
|
||||
#define ETH_P_AX25 0x0002
|
||||
#define ETH_P_ALL 0x0003
|
||||
#define ETH_P_802_2 0x0004
|
||||
#define ETH_P_SNAP 0x0005
|
||||
#define ETH_P_DDCMP 0x0006
|
||||
#define ETH_P_WAN_PPP 0x0007
|
||||
#define ETH_P_PPP_MP 0x0008
|
||||
#define ETH_P_LOCALTALK 0x0009
|
||||
#define ETH_P_CAN 0x000C
|
||||
#define ETH_P_CANFD 0x000D
|
||||
#define ETH_P_PPPTALK 0x0010
|
||||
#define ETH_P_TR_802_2 0x0011
|
||||
#define ETH_P_MOBITEX 0x0015
|
||||
#define ETH_P_CONTROL 0x0016
|
||||
#define ETH_P_IRDA 0x0017
|
||||
#define ETH_P_ECONET 0x0018
|
||||
#define ETH_P_HDLC 0x0019
|
||||
#define ETH_P_ARCNET 0x001A
|
||||
#define ETH_P_DSA 0x001B
|
||||
#define ETH_P_TRAILER 0x001C
|
||||
#define ETH_P_PHONET 0x00F5
|
||||
#define ETH_P_IEEE802154 0x00F6
|
||||
#define ETH_P_CAIF 0x00F7
|
||||
#define ETH_P_XDSA 0x00F8
|
||||
#define ETH_P_MAP 0x00F9
|
||||
|
||||
struct ethhdr {
|
||||
uint8_t h_dest[ETH_ALEN];
|
||||
uint8_t h_source[ETH_ALEN];
|
||||
uint16_t h_proto;
|
||||
};
|
||||
|
||||
#include <net/ethernet.h>
|
||||
#include <net/if_arp.h>
|
||||
|
||||
struct ether_arp {
|
||||
struct arphdr ea_hdr;
|
||||
uint8_t arp_sha[ETH_ALEN];
|
||||
uint8_t arp_spa[4];
|
||||
uint8_t arp_tha[ETH_ALEN];
|
||||
uint8_t arp_tpa[4];
|
||||
};
|
||||
#define arp_hrd ea_hdr.ar_hrd
|
||||
#define arp_pro ea_hdr.ar_pro
|
||||
#define arp_hln ea_hdr.ar_hln
|
||||
#define arp_pln ea_hdr.ar_pln
|
||||
#define arp_op ea_hdr.ar_op
|
||||
|
||||
#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \
|
||||
do { \
|
||||
(enaddr)[0] = 0x01; \
|
||||
(enaddr)[1] = 0x00; \
|
||||
(enaddr)[2] = 0x5e; \
|
||||
(enaddr)[3] = ((uint8_t *)ipaddr)[1] & 0x7f; \
|
||||
(enaddr)[4] = ((uint8_t *)ipaddr)[2]; \
|
||||
(enaddr)[5] = ((uint8_t *)ipaddr)[3]; \
|
||||
} while(0)
|
||||
|
||||
#define __UAPI_DEF_ETHHDR 0
|
||||
|
||||
#endif
|
45
third_party/musl/ndk_musl_include/netinet/igmp.h
vendored
Normal file
45
third_party/musl/ndk_musl_include/netinet/igmp.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
#ifndef _NETINET_IGMP_H
|
||||
#define _NETINET_IGMP_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
struct igmp {
|
||||
uint8_t igmp_type;
|
||||
uint8_t igmp_code;
|
||||
uint16_t igmp_cksum;
|
||||
struct in_addr igmp_group;
|
||||
};
|
||||
|
||||
#define IGMP_MINLEN 8
|
||||
|
||||
#define IGMP_MEMBERSHIP_QUERY 0x11
|
||||
#define IGMP_V1_MEMBERSHIP_REPORT 0x12
|
||||
#define IGMP_V2_MEMBERSHIP_REPORT 0x16
|
||||
#define IGMP_V2_LEAVE_GROUP 0x17
|
||||
|
||||
#define IGMP_DVMRP 0x13
|
||||
#define IGMP_PIM 0x14
|
||||
#define IGMP_TRACE 0x15
|
||||
|
||||
#define IGMP_MTRACE_RESP 0x1e
|
||||
#define IGMP_MTRACE 0x1f
|
||||
|
||||
#define IGMP_MAX_HOST_REPORT_DELAY 10
|
||||
#define IGMP_TIMER_SCALE 10
|
||||
|
||||
#define IGMP_DELAYING_MEMBER 1
|
||||
#define IGMP_IDLE_MEMBER 2
|
||||
#define IGMP_LAZY_MEMBER 3
|
||||
#define IGMP_SLEEPING_MEMBER 4
|
||||
#define IGMP_AWAKENING_MEMBER 5
|
||||
|
||||
#define IGMP_v1_ROUTER 1
|
||||
#define IGMP_v2_ROUTER 2
|
||||
|
||||
#define IGMP_HOST_MEMBERSHIP_QUERY IGMP_MEMBERSHIP_QUERY
|
||||
#define IGMP_HOST_MEMBERSHIP_REPORT IGMP_V1_MEMBERSHIP_REPORT
|
||||
#define IGMP_HOST_NEW_MEMBERSHIP_REPORT IGMP_V2_MEMBERSHIP_REPORT
|
||||
#define IGMP_HOST_LEAVE_MESSAGE IGMP_V2_LEAVE_GROUP
|
||||
|
||||
#endif
|
415
third_party/musl/ndk_musl_include/netinet/in.h
vendored
Normal file
415
third_party/musl/ndk_musl_include/netinet/in.h
vendored
Normal file
@ -0,0 +1,415 @@
|
||||
#ifndef _NETINET_IN_H
|
||||
#define _NETINET_IN_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <inttypes.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
typedef uint16_t in_port_t;
|
||||
typedef uint32_t in_addr_t;
|
||||
struct in_addr { in_addr_t s_addr; };
|
||||
|
||||
struct sockaddr_in {
|
||||
sa_family_t sin_family;
|
||||
in_port_t sin_port;
|
||||
struct in_addr sin_addr;
|
||||
uint8_t sin_zero[8];
|
||||
};
|
||||
|
||||
struct in6_addr {
|
||||
union {
|
||||
uint8_t __s6_addr[16];
|
||||
uint16_t __s6_addr16[8];
|
||||
uint32_t __s6_addr32[4];
|
||||
} __in6_union;
|
||||
};
|
||||
#define s6_addr __in6_union.__s6_addr
|
||||
#define s6_addr16 __in6_union.__s6_addr16
|
||||
#define s6_addr32 __in6_union.__s6_addr32
|
||||
|
||||
struct sockaddr_in6 {
|
||||
sa_family_t sin6_family;
|
||||
in_port_t sin6_port;
|
||||
uint32_t sin6_flowinfo;
|
||||
struct in6_addr sin6_addr;
|
||||
uint32_t sin6_scope_id;
|
||||
};
|
||||
|
||||
struct ipv6_mreq {
|
||||
struct in6_addr ipv6mr_multiaddr;
|
||||
unsigned ipv6mr_interface;
|
||||
};
|
||||
|
||||
#define INADDR_ANY ((in_addr_t) 0x00000000)
|
||||
#define INADDR_BROADCAST ((in_addr_t) 0xffffffff)
|
||||
#define INADDR_NONE ((in_addr_t) 0xffffffff)
|
||||
#define INADDR_LOOPBACK ((in_addr_t) 0x7f000001)
|
||||
|
||||
#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000)
|
||||
#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001)
|
||||
#define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002)
|
||||
#define INADDR_ALLSNOOPERS_GROUP ((in_addr_t) 0xe000006a)
|
||||
#define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff)
|
||||
|
||||
#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
|
||||
#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
|
||||
|
||||
extern const struct in6_addr in6addr_any, in6addr_loopback;
|
||||
|
||||
#undef INET_ADDRSTRLEN
|
||||
#undef INET6_ADDRSTRLEN
|
||||
#define INET_ADDRSTRLEN 16
|
||||
#define INET6_ADDRSTRLEN 46
|
||||
|
||||
uint32_t htonl(uint32_t);
|
||||
uint16_t htons(uint16_t);
|
||||
uint32_t ntohl(uint32_t);
|
||||
uint16_t ntohs(uint16_t);
|
||||
|
||||
#define IPPORT_RESERVED 1024
|
||||
|
||||
#define IPPROTO_IP 0
|
||||
#define IPPROTO_HOPOPTS 0
|
||||
#define IPPROTO_ICMP 1
|
||||
#define IPPROTO_IGMP 2
|
||||
#define IPPROTO_IPIP 4
|
||||
#define IPPROTO_TCP 6
|
||||
#define IPPROTO_EGP 8
|
||||
#define IPPROTO_PUP 12
|
||||
#define IPPROTO_UDP 17
|
||||
#define IPPROTO_IDP 22
|
||||
#define IPPROTO_TP 29
|
||||
#define IPPROTO_DCCP 33
|
||||
#define IPPROTO_IPV6 41
|
||||
#define IPPROTO_ROUTING 43
|
||||
#define IPPROTO_FRAGMENT 44
|
||||
#define IPPROTO_RSVP 46
|
||||
#define IPPROTO_GRE 47
|
||||
#define IPPROTO_ESP 50
|
||||
#define IPPROTO_AH 51
|
||||
#define IPPROTO_ICMPV6 58
|
||||
#define IPPROTO_NONE 59
|
||||
#define IPPROTO_DSTOPTS 60
|
||||
#define IPPROTO_MTP 92
|
||||
#define IPPROTO_BEETPH 94
|
||||
#define IPPROTO_ENCAP 98
|
||||
#define IPPROTO_PIM 103
|
||||
#define IPPROTO_COMP 108
|
||||
#define IPPROTO_SCTP 132
|
||||
#define IPPROTO_MH 135
|
||||
#define IPPROTO_UDPLITE 136
|
||||
#define IPPROTO_MPLS 137
|
||||
#define IPPROTO_RAW 255
|
||||
#define IPPROTO_MAX 256
|
||||
|
||||
#define IN6_IS_ADDR_UNSPECIFIED(a) \
|
||||
(((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
|
||||
((uint32_t *) (a))[2] == 0 && ((uint32_t *) (a))[3] == 0)
|
||||
|
||||
#define IN6_IS_ADDR_LOOPBACK(a) \
|
||||
(((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
|
||||
((uint32_t *) (a))[2] == 0 && \
|
||||
((uint8_t *) (a))[12] == 0 && ((uint8_t *) (a))[13] == 0 && \
|
||||
((uint8_t *) (a))[14] == 0 && ((uint8_t *) (a))[15] == 1 )
|
||||
|
||||
#define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff)
|
||||
|
||||
#define IN6_IS_ADDR_LINKLOCAL(a) \
|
||||
((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0x80)
|
||||
|
||||
#define IN6_IS_ADDR_SITELOCAL(a) \
|
||||
((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0xc0)
|
||||
|
||||
#define IN6_IS_ADDR_V4MAPPED(a) \
|
||||
(((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
|
||||
((uint8_t *) (a))[8] == 0 && ((uint8_t *) (a))[9] == 0 && \
|
||||
((uint8_t *) (a))[10] == 0xff && ((uint8_t *) (a))[11] == 0xff)
|
||||
|
||||
#define IN6_IS_ADDR_V4COMPAT(a) \
|
||||
(((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
|
||||
((uint32_t *) (a))[2] == 0 && ((uint8_t *) (a))[15] > 1)
|
||||
|
||||
#define IN6_IS_ADDR_MC_NODELOCAL(a) \
|
||||
(IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x1))
|
||||
|
||||
#define IN6_IS_ADDR_MC_LINKLOCAL(a) \
|
||||
(IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x2))
|
||||
|
||||
#define IN6_IS_ADDR_MC_SITELOCAL(a) \
|
||||
(IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x5))
|
||||
|
||||
#define IN6_IS_ADDR_MC_ORGLOCAL(a) \
|
||||
(IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x8))
|
||||
|
||||
#define IN6_IS_ADDR_MC_GLOBAL(a) \
|
||||
(IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe))
|
||||
|
||||
#define __ARE_4_EQUAL(a,b) \
|
||||
(!( (0[a]-0[b]) | (1[a]-1[b]) | (2[a]-2[b]) | (3[a]-3[b]) ))
|
||||
#define IN6_ARE_ADDR_EQUAL(a,b) \
|
||||
__ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b))
|
||||
|
||||
#define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0)
|
||||
#define IN_CLASSA_NET 0xff000000
|
||||
#define IN_CLASSA_NSHIFT 24
|
||||
#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET)
|
||||
#define IN_CLASSA_MAX 128
|
||||
#define IN_CLASSB(a) ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000)
|
||||
#define IN_CLASSB_NET 0xffff0000
|
||||
#define IN_CLASSB_NSHIFT 16
|
||||
#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET)
|
||||
#define IN_CLASSB_MAX 65536
|
||||
#define IN_CLASSC(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000)
|
||||
#define IN_CLASSC_NET 0xffffff00
|
||||
#define IN_CLASSC_NSHIFT 8
|
||||
#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
|
||||
#define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000)
|
||||
#define IN_MULTICAST(a) IN_CLASSD(a)
|
||||
#define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000)
|
||||
#define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000)
|
||||
|
||||
#define IN_LOOPBACKNET 127
|
||||
|
||||
|
||||
#define IP_TOS 1
|
||||
#define IP_TTL 2
|
||||
#define IP_HDRINCL 3
|
||||
#define IP_OPTIONS 4
|
||||
#define IP_ROUTER_ALERT 5
|
||||
#define IP_RECVOPTS 6
|
||||
#define IP_RETOPTS 7
|
||||
#define IP_PKTINFO 8
|
||||
#define IP_PKTOPTIONS 9
|
||||
#define IP_PMTUDISC 10
|
||||
#define IP_MTU_DISCOVER 10
|
||||
#define IP_RECVERR 11
|
||||
#define IP_RECVTTL 12
|
||||
#define IP_RECVTOS 13
|
||||
#define IP_MTU 14
|
||||
#define IP_FREEBIND 15
|
||||
#define IP_IPSEC_POLICY 16
|
||||
#define IP_XFRM_POLICY 17
|
||||
#define IP_PASSSEC 18
|
||||
#define IP_TRANSPARENT 19
|
||||
#define IP_ORIGDSTADDR 20
|
||||
#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
|
||||
#define IP_MINTTL 21
|
||||
#define IP_NODEFRAG 22
|
||||
#define IP_CHECKSUM 23
|
||||
#define IP_BIND_ADDRESS_NO_PORT 24
|
||||
#define IP_RECVFRAGSIZE 25
|
||||
#define IP_MULTICAST_IF 32
|
||||
#define IP_MULTICAST_TTL 33
|
||||
#define IP_MULTICAST_LOOP 34
|
||||
#define IP_ADD_MEMBERSHIP 35
|
||||
#define IP_DROP_MEMBERSHIP 36
|
||||
#define IP_UNBLOCK_SOURCE 37
|
||||
#define IP_BLOCK_SOURCE 38
|
||||
#define IP_ADD_SOURCE_MEMBERSHIP 39
|
||||
#define IP_DROP_SOURCE_MEMBERSHIP 40
|
||||
#define IP_MSFILTER 41
|
||||
#define IP_MULTICAST_ALL 49
|
||||
#define IP_UNICAST_IF 50
|
||||
|
||||
#define IP_RECVRETOPTS IP_RETOPTS
|
||||
|
||||
#define IP_PMTUDISC_DONT 0
|
||||
#define IP_PMTUDISC_WANT 1
|
||||
#define IP_PMTUDISC_DO 2
|
||||
#define IP_PMTUDISC_PROBE 3
|
||||
#define IP_PMTUDISC_INTERFACE 4
|
||||
#define IP_PMTUDISC_OMIT 5
|
||||
|
||||
#define IP_DEFAULT_MULTICAST_TTL 1
|
||||
#define IP_DEFAULT_MULTICAST_LOOP 1
|
||||
#define IP_MAX_MEMBERSHIPS 20
|
||||
|
||||
struct ip_opts {
|
||||
struct in_addr ip_dst;
|
||||
char ip_opts[40];
|
||||
};
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
|
||||
#define MCAST_JOIN_GROUP 42
|
||||
#define MCAST_BLOCK_SOURCE 43
|
||||
#define MCAST_UNBLOCK_SOURCE 44
|
||||
#define MCAST_LEAVE_GROUP 45
|
||||
#define MCAST_JOIN_SOURCE_GROUP 46
|
||||
#define MCAST_LEAVE_SOURCE_GROUP 47
|
||||
#define MCAST_MSFILTER 48
|
||||
|
||||
#define MCAST_EXCLUDE 0
|
||||
#define MCAST_INCLUDE 1
|
||||
|
||||
struct ip_mreq {
|
||||
struct in_addr imr_multiaddr;
|
||||
struct in_addr imr_interface;
|
||||
};
|
||||
|
||||
struct ip_mreqn {
|
||||
struct in_addr imr_multiaddr;
|
||||
struct in_addr imr_address;
|
||||
int imr_ifindex;
|
||||
};
|
||||
|
||||
struct ip_mreq_source {
|
||||
struct in_addr imr_multiaddr;
|
||||
struct in_addr imr_interface;
|
||||
struct in_addr imr_sourceaddr;
|
||||
};
|
||||
|
||||
struct ip_msfilter {
|
||||
struct in_addr imsf_multiaddr;
|
||||
struct in_addr imsf_interface;
|
||||
uint32_t imsf_fmode;
|
||||
uint32_t imsf_numsrc;
|
||||
struct in_addr imsf_slist[1];
|
||||
};
|
||||
#define IP_MSFILTER_SIZE(numsrc) \
|
||||
(sizeof(struct ip_msfilter) - sizeof(struct in_addr) \
|
||||
+ (numsrc) * sizeof(struct in_addr))
|
||||
|
||||
struct group_req {
|
||||
uint32_t gr_interface;
|
||||
struct sockaddr_storage gr_group;
|
||||
};
|
||||
|
||||
struct group_source_req {
|
||||
uint32_t gsr_interface;
|
||||
struct sockaddr_storage gsr_group;
|
||||
struct sockaddr_storage gsr_source;
|
||||
};
|
||||
|
||||
struct group_filter {
|
||||
uint32_t gf_interface;
|
||||
struct sockaddr_storage gf_group;
|
||||
uint32_t gf_fmode;
|
||||
uint32_t gf_numsrc;
|
||||
struct sockaddr_storage gf_slist[1];
|
||||
};
|
||||
#define GROUP_FILTER_SIZE(numsrc) \
|
||||
(sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \
|
||||
+ (numsrc) * sizeof(struct sockaddr_storage))
|
||||
|
||||
struct in_pktinfo {
|
||||
int ipi_ifindex;
|
||||
struct in_addr ipi_spec_dst;
|
||||
struct in_addr ipi_addr;
|
||||
};
|
||||
|
||||
struct in6_pktinfo {
|
||||
struct in6_addr ipi6_addr;
|
||||
unsigned ipi6_ifindex;
|
||||
};
|
||||
|
||||
struct ip6_mtuinfo {
|
||||
struct sockaddr_in6 ip6m_addr;
|
||||
uint32_t ip6m_mtu;
|
||||
};
|
||||
#endif
|
||||
|
||||
#define IPV6_ADDRFORM 1
|
||||
#define IPV6_2292PKTINFO 2
|
||||
#define IPV6_2292HOPOPTS 3
|
||||
#define IPV6_2292DSTOPTS 4
|
||||
#define IPV6_2292RTHDR 5
|
||||
#define IPV6_2292PKTOPTIONS 6
|
||||
#define IPV6_CHECKSUM 7
|
||||
#define IPV6_2292HOPLIMIT 8
|
||||
#define IPV6_NEXTHOP 9
|
||||
#define IPV6_AUTHHDR 10
|
||||
#define IPV6_UNICAST_HOPS 16
|
||||
#define IPV6_MULTICAST_IF 17
|
||||
#define IPV6_MULTICAST_HOPS 18
|
||||
#define IPV6_MULTICAST_LOOP 19
|
||||
#define IPV6_JOIN_GROUP 20
|
||||
#define IPV6_LEAVE_GROUP 21
|
||||
#define IPV6_ROUTER_ALERT 22
|
||||
#define IPV6_MTU_DISCOVER 23
|
||||
#define IPV6_MTU 24
|
||||
#define IPV6_RECVERR 25
|
||||
#define IPV6_V6ONLY 26
|
||||
#define IPV6_JOIN_ANYCAST 27
|
||||
#define IPV6_LEAVE_ANYCAST 28
|
||||
#define IPV6_MULTICAST_ALL 29
|
||||
#define IPV6_ROUTER_ALERT_ISOLATE 30
|
||||
#define IPV6_IPSEC_POLICY 34
|
||||
#define IPV6_XFRM_POLICY 35
|
||||
#define IPV6_HDRINCL 36
|
||||
|
||||
#define IPV6_RECVPKTINFO 49
|
||||
#define IPV6_PKTINFO 50
|
||||
#define IPV6_RECVHOPLIMIT 51
|
||||
#define IPV6_HOPLIMIT 52
|
||||
#define IPV6_RECVHOPOPTS 53
|
||||
#define IPV6_HOPOPTS 54
|
||||
#define IPV6_RTHDRDSTOPTS 55
|
||||
#define IPV6_RECVRTHDR 56
|
||||
#define IPV6_RTHDR 57
|
||||
#define IPV6_RECVDSTOPTS 58
|
||||
#define IPV6_DSTOPTS 59
|
||||
#define IPV6_RECVPATHMTU 60
|
||||
#define IPV6_PATHMTU 61
|
||||
#define IPV6_DONTFRAG 62
|
||||
#define IPV6_RECVTCLASS 66
|
||||
#define IPV6_TCLASS 67
|
||||
#define IPV6_AUTOFLOWLABEL 70
|
||||
#define IPV6_ADDR_PREFERENCES 72
|
||||
#define IPV6_MINHOPCOUNT 73
|
||||
#define IPV6_ORIGDSTADDR 74
|
||||
#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
|
||||
#define IPV6_TRANSPARENT 75
|
||||
#define IPV6_UNICAST_IF 76
|
||||
#define IPV6_RECVFRAGSIZE 77
|
||||
#define IPV6_FREEBIND 78
|
||||
|
||||
#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
|
||||
#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
|
||||
#define IPV6_RXHOPOPTS IPV6_HOPOPTS
|
||||
#define IPV6_RXDSTOPTS IPV6_DSTOPTS
|
||||
|
||||
#define IPV6_PMTUDISC_DONT 0
|
||||
#define IPV6_PMTUDISC_WANT 1
|
||||
#define IPV6_PMTUDISC_DO 2
|
||||
#define IPV6_PMTUDISC_PROBE 3
|
||||
#define IPV6_PMTUDISC_INTERFACE 4
|
||||
#define IPV6_PMTUDISC_OMIT 5
|
||||
|
||||
#define IPV6_PREFER_SRC_TMP 0x0001
|
||||
#define IPV6_PREFER_SRC_PUBLIC 0x0002
|
||||
#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
|
||||
#define IPV6_PREFER_SRC_COA 0x0004
|
||||
#define IPV6_PREFER_SRC_HOME 0x0400
|
||||
#define IPV6_PREFER_SRC_CGA 0x0008
|
||||
#define IPV6_PREFER_SRC_NONCGA 0x0800
|
||||
|
||||
#define IPV6_RTHDR_LOOSE 0
|
||||
#define IPV6_RTHDR_STRICT 1
|
||||
|
||||
#define IPV6_RTHDR_TYPE_0 0
|
||||
|
||||
#define __UAPI_DEF_IN_ADDR 0
|
||||
#define __UAPI_DEF_IN_IPPROTO 0
|
||||
#define __UAPI_DEF_IN_PKTINFO 0
|
||||
#define __UAPI_DEF_IP_MREQ 0
|
||||
#define __UAPI_DEF_SOCKADDR_IN 0
|
||||
#define __UAPI_DEF_IN_CLASS 0
|
||||
#define __UAPI_DEF_IN6_ADDR 0
|
||||
#define __UAPI_DEF_IN6_ADDR_ALT 0
|
||||
#define __UAPI_DEF_SOCKADDR_IN6 0
|
||||
#define __UAPI_DEF_IPV6_MREQ 0
|
||||
#define __UAPI_DEF_IPPROTO_V6 0
|
||||
#define __UAPI_DEF_IPV6_OPTIONS 0
|
||||
#define __UAPI_DEF_IN6_PKTINFO 0
|
||||
#define __UAPI_DEF_IP6_MTUINFO 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
9
third_party/musl/ndk_musl_include/netinet/in_systm.h
vendored
Normal file
9
third_party/musl/ndk_musl_include/netinet/in_systm.h
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef _NETINET_IN_SYSTM_H
|
||||
#define _NETINET_IN_SYSTM_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef uint16_t n_short;
|
||||
typedef uint32_t n_long, n_time;
|
||||
|
||||
#endif
|
199
third_party/musl/ndk_musl_include/netinet/ip.h
vendored
Normal file
199
third_party/musl/ndk_musl_include/netinet/ip.h
vendored
Normal file
@ -0,0 +1,199 @@
|
||||
#ifndef _NETINET_IP_H
|
||||
#define _NETINET_IP_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
struct timestamp {
|
||||
uint8_t len;
|
||||
uint8_t ptr;
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
unsigned int flags:4;
|
||||
unsigned int overflow:4;
|
||||
#else
|
||||
unsigned int overflow:4;
|
||||
unsigned int flags:4;
|
||||
#endif
|
||||
uint32_t data[9];
|
||||
};
|
||||
|
||||
struct iphdr {
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
unsigned int ihl:4;
|
||||
unsigned int version:4;
|
||||
#else
|
||||
unsigned int version:4;
|
||||
unsigned int ihl:4;
|
||||
#endif
|
||||
uint8_t tos;
|
||||
uint16_t tot_len;
|
||||
uint16_t id;
|
||||
uint16_t frag_off;
|
||||
uint8_t ttl;
|
||||
uint8_t protocol;
|
||||
uint16_t check;
|
||||
uint32_t saddr;
|
||||
uint32_t daddr;
|
||||
};
|
||||
|
||||
struct ip {
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
unsigned int ip_hl:4;
|
||||
unsigned int ip_v:4;
|
||||
#else
|
||||
unsigned int ip_v:4;
|
||||
unsigned int ip_hl:4;
|
||||
#endif
|
||||
uint8_t ip_tos;
|
||||
uint16_t ip_len;
|
||||
uint16_t ip_id;
|
||||
uint16_t ip_off;
|
||||
uint8_t ip_ttl;
|
||||
uint8_t ip_p;
|
||||
uint16_t ip_sum;
|
||||
struct in_addr ip_src, ip_dst;
|
||||
};
|
||||
|
||||
#define IP_RF 0x8000
|
||||
#define IP_DF 0x4000
|
||||
#define IP_MF 0x2000
|
||||
#define IP_OFFMASK 0x1fff
|
||||
|
||||
struct ip_timestamp {
|
||||
uint8_t ipt_code;
|
||||
uint8_t ipt_len;
|
||||
uint8_t ipt_ptr;
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
unsigned int ipt_flg:4;
|
||||
unsigned int ipt_oflw:4;
|
||||
#else
|
||||
unsigned int ipt_oflw:4;
|
||||
unsigned int ipt_flg:4;
|
||||
#endif
|
||||
uint32_t data[9];
|
||||
};
|
||||
|
||||
#define IPVERSION 4
|
||||
#define IP_MAXPACKET 65535
|
||||
|
||||
#define IPTOS_ECN_MASK 0x03
|
||||
#define IPTOS_ECN(x) ((x) & IPTOS_ECN_MASK)
|
||||
#define IPTOS_ECN_NOT_ECT 0x00
|
||||
#define IPTOS_ECN_ECT1 0x01
|
||||
#define IPTOS_ECN_ECT0 0x02
|
||||
#define IPTOS_ECN_CE 0x03
|
||||
|
||||
#define IPTOS_DSCP_MASK 0xfc
|
||||
#define IPTOS_DSCP(x) ((x) & IPTOS_DSCP_MASK)
|
||||
#define IPTOS_DSCP_AF11 0x28
|
||||
#define IPTOS_DSCP_AF12 0x30
|
||||
#define IPTOS_DSCP_AF13 0x38
|
||||
#define IPTOS_DSCP_AF21 0x48
|
||||
#define IPTOS_DSCP_AF22 0x50
|
||||
#define IPTOS_DSCP_AF23 0x58
|
||||
#define IPTOS_DSCP_AF31 0x68
|
||||
#define IPTOS_DSCP_AF32 0x70
|
||||
#define IPTOS_DSCP_AF33 0x78
|
||||
#define IPTOS_DSCP_AF41 0x88
|
||||
#define IPTOS_DSCP_AF42 0x90
|
||||
#define IPTOS_DSCP_AF43 0x98
|
||||
#define IPTOS_DSCP_EF 0xb8
|
||||
|
||||
#define IPTOS_CLASS_MASK 0xe0
|
||||
#define IPTOS_CLASS(x) ((x) & IPTOS_CLASS_MASK)
|
||||
#define IPTOS_CLASS_CS0 0x00
|
||||
#define IPTOS_CLASS_CS1 0x20
|
||||
#define IPTOS_CLASS_CS2 0x40
|
||||
#define IPTOS_CLASS_CS3 0x60
|
||||
#define IPTOS_CLASS_CS4 0x80
|
||||
#define IPTOS_CLASS_CS5 0xa0
|
||||
#define IPTOS_CLASS_CS6 0xc0
|
||||
#define IPTOS_CLASS_CS7 0xe0
|
||||
#define IPTOS_CLASS_DEFAULT IPTOS_CLASS_CS0
|
||||
|
||||
#define IPTOS_TOS_MASK 0x1E
|
||||
#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK)
|
||||
#define IPTOS_LOWDELAY 0x10
|
||||
#define IPTOS_THROUGHPUT 0x08
|
||||
#define IPTOS_RELIABILITY 0x04
|
||||
#define IPTOS_LOWCOST 0x02
|
||||
#define IPTOS_MINCOST IPTOS_LOWCOST
|
||||
|
||||
#define IPTOS_PREC_MASK 0xe0
|
||||
#define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK)
|
||||
#define IPTOS_PREC_NETCONTROL 0xe0
|
||||
#define IPTOS_PREC_INTERNETCONTROL 0xc0
|
||||
#define IPTOS_PREC_CRITIC_ECP 0xa0
|
||||
#define IPTOS_PREC_FLASHOVERRIDE 0x80
|
||||
#define IPTOS_PREC_FLASH 0x60
|
||||
#define IPTOS_PREC_IMMEDIATE 0x40
|
||||
#define IPTOS_PREC_PRIORITY 0x20
|
||||
#define IPTOS_PREC_ROUTINE 0x00
|
||||
|
||||
#define IPOPT_COPY 0x80
|
||||
#define IPOPT_CLASS_MASK 0x60
|
||||
#define IPOPT_NUMBER_MASK 0x1f
|
||||
|
||||
#define IPOPT_COPIED(o) ((o) & IPOPT_COPY)
|
||||
#define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK)
|
||||
#define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK)
|
||||
|
||||
#define IPOPT_CONTROL 0x00
|
||||
#define IPOPT_RESERVED1 0x20
|
||||
#define IPOPT_DEBMEAS 0x40
|
||||
#define IPOPT_MEASUREMENT IPOPT_DEBMEAS
|
||||
#define IPOPT_RESERVED2 0x60
|
||||
|
||||
#define IPOPT_EOL 0
|
||||
#define IPOPT_END IPOPT_EOL
|
||||
#define IPOPT_NOP 1
|
||||
#define IPOPT_NOOP IPOPT_NOP
|
||||
|
||||
#define IPOPT_RR 7
|
||||
#define IPOPT_TS 68
|
||||
#define IPOPT_TIMESTAMP IPOPT_TS
|
||||
#define IPOPT_SECURITY 130
|
||||
#define IPOPT_SEC IPOPT_SECURITY
|
||||
#define IPOPT_LSRR 131
|
||||
#define IPOPT_SATID 136
|
||||
#define IPOPT_SID IPOPT_SATID
|
||||
#define IPOPT_SSRR 137
|
||||
#define IPOPT_RA 148
|
||||
|
||||
#define IPOPT_OPTVAL 0
|
||||
#define IPOPT_OLEN 1
|
||||
#define IPOPT_OFFSET 2
|
||||
#define IPOPT_MINOFF 4
|
||||
|
||||
#define MAX_IPOPTLEN 40
|
||||
|
||||
#define IPOPT_TS_TSONLY 0
|
||||
#define IPOPT_TS_TSANDADDR 1
|
||||
#define IPOPT_TS_PRESPEC 3
|
||||
|
||||
#define IPOPT_SECUR_UNCLASS 0x0000
|
||||
#define IPOPT_SECUR_CONFID 0xf135
|
||||
#define IPOPT_SECUR_EFTO 0x789a
|
||||
#define IPOPT_SECUR_MMMM 0xbc4d
|
||||
#define IPOPT_SECUR_RESTR 0xaf13
|
||||
#define IPOPT_SECUR_SECRET 0xd788
|
||||
#define IPOPT_SECUR_TOPSECRET 0x6bc5
|
||||
|
||||
#define MAXTTL 255
|
||||
#define IPDEFTTL 64
|
||||
#define IPFRAGTTL 60
|
||||
#define IPTTLDEC 1
|
||||
|
||||
#define IP_MSS 576
|
||||
|
||||
#define __UAPI_DEF_IPHDR 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
141
third_party/musl/ndk_musl_include/netinet/ip6.h
vendored
Normal file
141
third_party/musl/ndk_musl_include/netinet/ip6.h
vendored
Normal file
@ -0,0 +1,141 @@
|
||||
#ifndef _NETINET_IP6_H
|
||||
#define _NETINET_IP6_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
struct ip6_hdr {
|
||||
union {
|
||||
struct ip6_hdrctl {
|
||||
uint32_t ip6_un1_flow;
|
||||
uint16_t ip6_un1_plen;
|
||||
uint8_t ip6_un1_nxt;
|
||||
uint8_t ip6_un1_hlim;
|
||||
} ip6_un1;
|
||||
uint8_t ip6_un2_vfc;
|
||||
} ip6_ctlun;
|
||||
struct in6_addr ip6_src;
|
||||
struct in6_addr ip6_dst;
|
||||
};
|
||||
|
||||
#define ip6_vfc ip6_ctlun.ip6_un2_vfc
|
||||
#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow
|
||||
#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen
|
||||
#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
|
||||
#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
|
||||
#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim
|
||||
|
||||
struct ip6_ext {
|
||||
uint8_t ip6e_nxt;
|
||||
uint8_t ip6e_len;
|
||||
};
|
||||
|
||||
struct ip6_hbh {
|
||||
uint8_t ip6h_nxt;
|
||||
uint8_t ip6h_len;
|
||||
};
|
||||
|
||||
struct ip6_dest {
|
||||
uint8_t ip6d_nxt;
|
||||
uint8_t ip6d_len;
|
||||
};
|
||||
|
||||
struct ip6_rthdr {
|
||||
uint8_t ip6r_nxt;
|
||||
uint8_t ip6r_len;
|
||||
uint8_t ip6r_type;
|
||||
uint8_t ip6r_segleft;
|
||||
};
|
||||
|
||||
struct ip6_rthdr0 {
|
||||
uint8_t ip6r0_nxt;
|
||||
uint8_t ip6r0_len;
|
||||
uint8_t ip6r0_type;
|
||||
uint8_t ip6r0_segleft;
|
||||
uint8_t ip6r0_reserved;
|
||||
uint8_t ip6r0_slmap[3];
|
||||
struct in6_addr ip6r0_addr[];
|
||||
};
|
||||
|
||||
struct ip6_frag {
|
||||
uint8_t ip6f_nxt;
|
||||
uint8_t ip6f_reserved;
|
||||
uint16_t ip6f_offlg;
|
||||
uint32_t ip6f_ident;
|
||||
};
|
||||
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
#define IP6F_OFF_MASK 0xfff8
|
||||
#define IP6F_RESERVED_MASK 0x0006
|
||||
#define IP6F_MORE_FRAG 0x0001
|
||||
#else
|
||||
#define IP6F_OFF_MASK 0xf8ff
|
||||
#define IP6F_RESERVED_MASK 0x0600
|
||||
#define IP6F_MORE_FRAG 0x0100
|
||||
#endif
|
||||
|
||||
struct ip6_opt {
|
||||
uint8_t ip6o_type;
|
||||
uint8_t ip6o_len;
|
||||
};
|
||||
|
||||
#define IP6OPT_TYPE(o) ((o) & 0xc0)
|
||||
#define IP6OPT_TYPE_SKIP 0x00
|
||||
#define IP6OPT_TYPE_DISCARD 0x40
|
||||
#define IP6OPT_TYPE_FORCEICMP 0x80
|
||||
#define IP6OPT_TYPE_ICMP 0xc0
|
||||
#define IP6OPT_TYPE_MUTABLE 0x20
|
||||
|
||||
#define IP6OPT_PAD1 0
|
||||
#define IP6OPT_PADN 1
|
||||
|
||||
#define IP6OPT_JUMBO 0xc2
|
||||
#define IP6OPT_NSAP_ADDR 0xc3
|
||||
#define IP6OPT_TUNNEL_LIMIT 0x04
|
||||
#define IP6OPT_ROUTER_ALERT 0x05
|
||||
|
||||
struct ip6_opt_jumbo {
|
||||
uint8_t ip6oj_type;
|
||||
uint8_t ip6oj_len;
|
||||
uint8_t ip6oj_jumbo_len[4];
|
||||
};
|
||||
#define IP6OPT_JUMBO_LEN 6
|
||||
|
||||
struct ip6_opt_nsap {
|
||||
uint8_t ip6on_type;
|
||||
uint8_t ip6on_len;
|
||||
uint8_t ip6on_src_nsap_len;
|
||||
uint8_t ip6on_dst_nsap_len;
|
||||
};
|
||||
|
||||
struct ip6_opt_tunnel {
|
||||
uint8_t ip6ot_type;
|
||||
uint8_t ip6ot_len;
|
||||
uint8_t ip6ot_encap_limit;
|
||||
};
|
||||
|
||||
struct ip6_opt_router {
|
||||
uint8_t ip6or_type;
|
||||
uint8_t ip6or_len;
|
||||
uint8_t ip6or_value[2];
|
||||
};
|
||||
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
#define IP6_ALERT_MLD 0x0000
|
||||
#define IP6_ALERT_RSVP 0x0001
|
||||
#define IP6_ALERT_AN 0x0002
|
||||
#else
|
||||
#define IP6_ALERT_MLD 0x0000
|
||||
#define IP6_ALERT_RSVP 0x0100
|
||||
#define IP6_ALERT_AN 0x0200
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
193
third_party/musl/ndk_musl_include/netinet/ip_icmp.h
vendored
Normal file
193
third_party/musl/ndk_musl_include/netinet/ip_icmp.h
vendored
Normal file
@ -0,0 +1,193 @@
|
||||
#ifndef _NETINET_IP_ICMP_H
|
||||
#define _NETINET_IP_ICMP_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/ip.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct icmphdr {
|
||||
uint8_t type;
|
||||
uint8_t code;
|
||||
uint16_t checksum;
|
||||
union {
|
||||
struct {
|
||||
uint16_t id;
|
||||
uint16_t sequence;
|
||||
} echo;
|
||||
uint32_t gateway;
|
||||
struct {
|
||||
uint16_t __unused;
|
||||
uint16_t mtu;
|
||||
} frag;
|
||||
uint8_t reserved[4];
|
||||
} un;
|
||||
};
|
||||
|
||||
#define ICMP_ECHOREPLY 0
|
||||
#define ICMP_DEST_UNREACH 3
|
||||
#define ICMP_SOURCE_QUENCH 4
|
||||
#define ICMP_REDIRECT 5
|
||||
#define ICMP_ECHO 8
|
||||
#define ICMP_TIME_EXCEEDED 11
|
||||
#define ICMP_PARAMETERPROB 12
|
||||
#define ICMP_TIMESTAMP 13
|
||||
#define ICMP_TIMESTAMPREPLY 14
|
||||
#define ICMP_INFO_REQUEST 15
|
||||
#define ICMP_INFO_REPLY 16
|
||||
#define ICMP_ADDRESS 17
|
||||
#define ICMP_ADDRESSREPLY 18
|
||||
#define NR_ICMP_TYPES 18
|
||||
|
||||
|
||||
#define ICMP_NET_UNREACH 0
|
||||
#define ICMP_HOST_UNREACH 1
|
||||
#define ICMP_PROT_UNREACH 2
|
||||
#define ICMP_PORT_UNREACH 3
|
||||
#define ICMP_FRAG_NEEDED 4
|
||||
#define ICMP_SR_FAILED 5
|
||||
#define ICMP_NET_UNKNOWN 6
|
||||
#define ICMP_HOST_UNKNOWN 7
|
||||
#define ICMP_HOST_ISOLATED 8
|
||||
#define ICMP_NET_ANO 9
|
||||
#define ICMP_HOST_ANO 10
|
||||
#define ICMP_NET_UNR_TOS 11
|
||||
#define ICMP_HOST_UNR_TOS 12
|
||||
#define ICMP_PKT_FILTERED 13
|
||||
#define ICMP_PREC_VIOLATION 14
|
||||
#define ICMP_PREC_CUTOFF 15
|
||||
#define NR_ICMP_UNREACH 15
|
||||
|
||||
#define ICMP_REDIR_NET 0
|
||||
#define ICMP_REDIR_HOST 1
|
||||
#define ICMP_REDIR_NETTOS 2
|
||||
#define ICMP_REDIR_HOSTTOS 3
|
||||
|
||||
#define ICMP_EXC_TTL 0
|
||||
#define ICMP_EXC_FRAGTIME 1
|
||||
|
||||
|
||||
struct icmp_ra_addr {
|
||||
uint32_t ira_addr;
|
||||
uint32_t ira_preference;
|
||||
};
|
||||
|
||||
struct icmp {
|
||||
uint8_t icmp_type;
|
||||
uint8_t icmp_code;
|
||||
uint16_t icmp_cksum;
|
||||
union {
|
||||
uint8_t ih_pptr;
|
||||
struct in_addr ih_gwaddr;
|
||||
struct ih_idseq {
|
||||
uint16_t icd_id;
|
||||
uint16_t icd_seq;
|
||||
} ih_idseq;
|
||||
uint32_t ih_void;
|
||||
|
||||
struct ih_pmtu {
|
||||
uint16_t ipm_void;
|
||||
uint16_t ipm_nextmtu;
|
||||
} ih_pmtu;
|
||||
|
||||
struct ih_rtradv {
|
||||
uint8_t irt_num_addrs;
|
||||
uint8_t irt_wpa;
|
||||
uint16_t irt_lifetime;
|
||||
} ih_rtradv;
|
||||
} icmp_hun;
|
||||
union {
|
||||
struct {
|
||||
uint32_t its_otime;
|
||||
uint32_t its_rtime;
|
||||
uint32_t its_ttime;
|
||||
} id_ts;
|
||||
struct {
|
||||
struct ip idi_ip;
|
||||
} id_ip;
|
||||
struct icmp_ra_addr id_radv;
|
||||
uint32_t id_mask;
|
||||
uint8_t id_data[1];
|
||||
} icmp_dun;
|
||||
};
|
||||
|
||||
#define icmp_pptr icmp_hun.ih_pptr
|
||||
#define icmp_gwaddr icmp_hun.ih_gwaddr
|
||||
#define icmp_id icmp_hun.ih_idseq.icd_id
|
||||
#define icmp_seq icmp_hun.ih_idseq.icd_seq
|
||||
#define icmp_void icmp_hun.ih_void
|
||||
#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void
|
||||
#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu
|
||||
#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs
|
||||
#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa
|
||||
#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime
|
||||
#define icmp_otime icmp_dun.id_ts.its_otime
|
||||
#define icmp_rtime icmp_dun.id_ts.its_rtime
|
||||
#define icmp_ttime icmp_dun.id_ts.its_ttime
|
||||
#define icmp_ip icmp_dun.id_ip.idi_ip
|
||||
#define icmp_radv icmp_dun.id_radv
|
||||
#define icmp_mask icmp_dun.id_mask
|
||||
#define icmp_data icmp_dun.id_data
|
||||
|
||||
#define ICMP_MINLEN 8
|
||||
#define ICMP_TSLEN (8 + 3 * sizeof (n_time))
|
||||
#define ICMP_MASKLEN 12
|
||||
#define ICMP_ADVLENMIN (8 + sizeof (struct ip) + 8)
|
||||
#define ICMP_ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8)
|
||||
|
||||
#define ICMP_UNREACH 3
|
||||
#define ICMP_SOURCEQUENCH 4
|
||||
#define ICMP_ROUTERADVERT 9
|
||||
#define ICMP_ROUTERSOLICIT 10
|
||||
#define ICMP_TIMXCEED 11
|
||||
#define ICMP_PARAMPROB 12
|
||||
#define ICMP_TSTAMP 13
|
||||
#define ICMP_TSTAMPREPLY 14
|
||||
#define ICMP_IREQ 15
|
||||
#define ICMP_IREQREPLY 16
|
||||
#define ICMP_MASKREQ 17
|
||||
#define ICMP_MASKREPLY 18
|
||||
#define ICMP_MAXTYPE 18
|
||||
|
||||
#define ICMP_UNREACH_NET 0
|
||||
#define ICMP_UNREACH_HOST 1
|
||||
#define ICMP_UNREACH_PROTOCOL 2
|
||||
#define ICMP_UNREACH_PORT 3
|
||||
#define ICMP_UNREACH_NEEDFRAG 4
|
||||
#define ICMP_UNREACH_SRCFAIL 5
|
||||
#define ICMP_UNREACH_NET_UNKNOWN 6
|
||||
#define ICMP_UNREACH_HOST_UNKNOWN 7
|
||||
#define ICMP_UNREACH_ISOLATED 8
|
||||
#define ICMP_UNREACH_NET_PROHIB 9
|
||||
#define ICMP_UNREACH_HOST_PROHIB 10
|
||||
#define ICMP_UNREACH_TOSNET 11
|
||||
#define ICMP_UNREACH_TOSHOST 12
|
||||
#define ICMP_UNREACH_FILTER_PROHIB 13
|
||||
#define ICMP_UNREACH_HOST_PRECEDENCE 14
|
||||
#define ICMP_UNREACH_PRECEDENCE_CUTOFF 15
|
||||
|
||||
#define ICMP_REDIRECT_NET 0
|
||||
#define ICMP_REDIRECT_HOST 1
|
||||
#define ICMP_REDIRECT_TOSNET 2
|
||||
#define ICMP_REDIRECT_TOSHOST 3
|
||||
|
||||
#define ICMP_TIMXCEED_INTRANS 0
|
||||
#define ICMP_TIMXCEED_REASS 1
|
||||
|
||||
#define ICMP_PARAMPROB_OPTABSENT 1
|
||||
|
||||
#define ICMP_INFOTYPE(type) \
|
||||
((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \
|
||||
(type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT || \
|
||||
(type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \
|
||||
(type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \
|
||||
(type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
282
third_party/musl/ndk_musl_include/netinet/tcp.h
vendored
Normal file
282
third_party/musl/ndk_musl_include/netinet/tcp.h
vendored
Normal file
@ -0,0 +1,282 @@
|
||||
#ifndef _NETINET_TCP_H
|
||||
#define _NETINET_TCP_H
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define TCP_NODELAY 1
|
||||
#define TCP_MAXSEG 2
|
||||
#define TCP_CORK 3
|
||||
#define TCP_KEEPIDLE 4
|
||||
#define TCP_KEEPINTVL 5
|
||||
#define TCP_KEEPCNT 6
|
||||
#define TCP_SYNCNT 7
|
||||
#define TCP_LINGER2 8
|
||||
#define TCP_DEFER_ACCEPT 9
|
||||
#define TCP_WINDOW_CLAMP 10
|
||||
#define TCP_INFO 11
|
||||
#define TCP_QUICKACK 12
|
||||
#define TCP_CONGESTION 13
|
||||
#define TCP_MD5SIG 14
|
||||
#define TCP_THIN_LINEAR_TIMEOUTS 16
|
||||
#define TCP_THIN_DUPACK 17
|
||||
#define TCP_USER_TIMEOUT 18
|
||||
#define TCP_REPAIR 19
|
||||
#define TCP_REPAIR_QUEUE 20
|
||||
#define TCP_QUEUE_SEQ 21
|
||||
#define TCP_REPAIR_OPTIONS 22
|
||||
#define TCP_FASTOPEN 23
|
||||
#define TCP_TIMESTAMP 24
|
||||
#define TCP_NOTSENT_LOWAT 25
|
||||
#define TCP_CC_INFO 26
|
||||
#define TCP_SAVE_SYN 27
|
||||
#define TCP_SAVED_SYN 28
|
||||
#define TCP_REPAIR_WINDOW 29
|
||||
#define TCP_FASTOPEN_CONNECT 30
|
||||
#define TCP_ULP 31
|
||||
#define TCP_MD5SIG_EXT 32
|
||||
#define TCP_FASTOPEN_KEY 33
|
||||
#define TCP_FASTOPEN_NO_COOKIE 34
|
||||
#define TCP_ZEROCOPY_RECEIVE 35
|
||||
#define TCP_INQ 36
|
||||
#define TCP_TX_DELAY 37
|
||||
|
||||
#define TCP_CM_INQ TCP_INQ
|
||||
|
||||
#define TCP_ESTABLISHED 1
|
||||
#define TCP_SYN_SENT 2
|
||||
#define TCP_SYN_RECV 3
|
||||
#define TCP_FIN_WAIT1 4
|
||||
#define TCP_FIN_WAIT2 5
|
||||
#define TCP_TIME_WAIT 6
|
||||
#define TCP_CLOSE 7
|
||||
#define TCP_CLOSE_WAIT 8
|
||||
#define TCP_LAST_ACK 9
|
||||
#define TCP_LISTEN 10
|
||||
#define TCP_CLOSING 11
|
||||
|
||||
enum {
|
||||
TCP_NLA_PAD,
|
||||
TCP_NLA_BUSY,
|
||||
TCP_NLA_RWND_LIMITED,
|
||||
TCP_NLA_SNDBUF_LIMITED,
|
||||
TCP_NLA_DATA_SEGS_OUT,
|
||||
TCP_NLA_TOTAL_RETRANS,
|
||||
TCP_NLA_PACING_RATE,
|
||||
TCP_NLA_DELIVERY_RATE,
|
||||
TCP_NLA_SND_CWND,
|
||||
TCP_NLA_REORDERING,
|
||||
TCP_NLA_MIN_RTT,
|
||||
TCP_NLA_RECUR_RETRANS,
|
||||
TCP_NLA_DELIVERY_RATE_APP_LMT,
|
||||
TCP_NLA_SNDQ_SIZE,
|
||||
TCP_NLA_CA_STATE,
|
||||
TCP_NLA_SND_SSTHRESH,
|
||||
TCP_NLA_DELIVERED,
|
||||
TCP_NLA_DELIVERED_CE,
|
||||
TCP_NLA_BYTES_SENT,
|
||||
TCP_NLA_BYTES_RETRANS,
|
||||
TCP_NLA_DSACK_DUPS,
|
||||
TCP_NLA_REORD_SEEN,
|
||||
TCP_NLA_SRTT,
|
||||
};
|
||||
|
||||
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
#define TCPOPT_EOL 0
|
||||
#define TCPOPT_NOP 1
|
||||
#define TCPOPT_MAXSEG 2
|
||||
#define TCPOPT_WINDOW 3
|
||||
#define TCPOPT_SACK_PERMITTED 4
|
||||
#define TCPOPT_SACK 5
|
||||
#define TCPOPT_TIMESTAMP 8
|
||||
#define TCPOLEN_SACK_PERMITTED 2
|
||||
#define TCPOLEN_WINDOW 3
|
||||
#define TCPOLEN_MAXSEG 4
|
||||
#define TCPOLEN_TIMESTAMP 10
|
||||
|
||||
#define SOL_TCP 6
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef uint32_t tcp_seq;
|
||||
|
||||
#define TH_FIN 0x01
|
||||
#define TH_SYN 0x02
|
||||
#define TH_RST 0x04
|
||||
#define TH_PUSH 0x08
|
||||
#define TH_ACK 0x10
|
||||
#define TH_URG 0x20
|
||||
|
||||
struct tcphdr {
|
||||
#ifdef _GNU_SOURCE
|
||||
#ifdef __GNUC__
|
||||
__extension__
|
||||
#endif
|
||||
union { struct {
|
||||
|
||||
uint16_t source;
|
||||
uint16_t dest;
|
||||
uint32_t seq;
|
||||
uint32_t ack_seq;
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
uint16_t res1:4;
|
||||
uint16_t doff:4;
|
||||
uint16_t fin:1;
|
||||
uint16_t syn:1;
|
||||
uint16_t rst:1;
|
||||
uint16_t psh:1;
|
||||
uint16_t ack:1;
|
||||
uint16_t urg:1;
|
||||
uint16_t res2:2;
|
||||
#else
|
||||
uint16_t doff:4;
|
||||
uint16_t res1:4;
|
||||
uint16_t res2:2;
|
||||
uint16_t urg:1;
|
||||
uint16_t ack:1;
|
||||
uint16_t psh:1;
|
||||
uint16_t rst:1;
|
||||
uint16_t syn:1;
|
||||
uint16_t fin:1;
|
||||
#endif
|
||||
uint16_t window;
|
||||
uint16_t check;
|
||||
uint16_t urg_ptr;
|
||||
|
||||
}; struct {
|
||||
#endif
|
||||
|
||||
uint16_t th_sport;
|
||||
uint16_t th_dport;
|
||||
uint32_t th_seq;
|
||||
uint32_t th_ack;
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
uint8_t th_x2:4;
|
||||
uint8_t th_off:4;
|
||||
#else
|
||||
uint8_t th_off:4;
|
||||
uint8_t th_x2:4;
|
||||
#endif
|
||||
uint8_t th_flags;
|
||||
uint16_t th_win;
|
||||
uint16_t th_sum;
|
||||
uint16_t th_urp;
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
}; };
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define TCPI_OPT_TIMESTAMPS 1
|
||||
#define TCPI_OPT_SACK 2
|
||||
#define TCPI_OPT_WSCALE 4
|
||||
#define TCPI_OPT_ECN 8
|
||||
|
||||
#define TCP_CA_Open 0
|
||||
#define TCP_CA_Disorder 1
|
||||
#define TCP_CA_CWR 2
|
||||
#define TCP_CA_Recovery 3
|
||||
#define TCP_CA_Loss 4
|
||||
|
||||
struct tcp_info {
|
||||
uint8_t tcpi_state;
|
||||
uint8_t tcpi_ca_state;
|
||||
uint8_t tcpi_retransmits;
|
||||
uint8_t tcpi_probes;
|
||||
uint8_t tcpi_backoff;
|
||||
uint8_t tcpi_options;
|
||||
uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
|
||||
uint8_t tcpi_delivery_rate_app_limited : 1;
|
||||
uint32_t tcpi_rto;
|
||||
uint32_t tcpi_ato;
|
||||
uint32_t tcpi_snd_mss;
|
||||
uint32_t tcpi_rcv_mss;
|
||||
uint32_t tcpi_unacked;
|
||||
uint32_t tcpi_sacked;
|
||||
uint32_t tcpi_lost;
|
||||
uint32_t tcpi_retrans;
|
||||
uint32_t tcpi_fackets;
|
||||
uint32_t tcpi_last_data_sent;
|
||||
uint32_t tcpi_last_ack_sent;
|
||||
uint32_t tcpi_last_data_recv;
|
||||
uint32_t tcpi_last_ack_recv;
|
||||
uint32_t tcpi_pmtu;
|
||||
uint32_t tcpi_rcv_ssthresh;
|
||||
uint32_t tcpi_rtt;
|
||||
uint32_t tcpi_rttvar;
|
||||
uint32_t tcpi_snd_ssthresh;
|
||||
uint32_t tcpi_snd_cwnd;
|
||||
uint32_t tcpi_advmss;
|
||||
uint32_t tcpi_reordering;
|
||||
uint32_t tcpi_rcv_rtt;
|
||||
uint32_t tcpi_rcv_space;
|
||||
uint32_t tcpi_total_retrans;
|
||||
uint64_t tcpi_pacing_rate;
|
||||
uint64_t tcpi_max_pacing_rate;
|
||||
uint64_t tcpi_bytes_acked;
|
||||
uint64_t tcpi_bytes_received;
|
||||
uint32_t tcpi_segs_out;
|
||||
uint32_t tcpi_segs_in;
|
||||
uint32_t tcpi_notsent_bytes;
|
||||
uint32_t tcpi_min_rtt;
|
||||
uint32_t tcpi_data_segs_in;
|
||||
uint32_t tcpi_data_segs_out;
|
||||
uint64_t tcpi_delivery_rate;
|
||||
uint64_t tcpi_busy_time;
|
||||
uint64_t tcpi_rwnd_limited;
|
||||
uint64_t tcpi_sndbuf_limited;
|
||||
uint32_t tcpi_delivered;
|
||||
uint32_t tcpi_delivered_ce;
|
||||
uint64_t tcpi_bytes_sent;
|
||||
uint64_t tcpi_bytes_retrans;
|
||||
uint32_t tcpi_dsack_dups;
|
||||
uint32_t tcpi_reord_seen;
|
||||
uint32_t tcpi_rcv_ooopack;
|
||||
uint32_t tcpi_snd_wnd;
|
||||
};
|
||||
|
||||
#define TCP_MD5SIG_MAXKEYLEN 80
|
||||
|
||||
#define TCP_MD5SIG_FLAG_PREFIX 1
|
||||
|
||||
struct tcp_md5sig {
|
||||
struct sockaddr_storage tcpm_addr;
|
||||
uint8_t tcpm_flags;
|
||||
uint8_t tcpm_prefixlen;
|
||||
uint16_t tcpm_keylen;
|
||||
uint32_t __tcpm_pad;
|
||||
uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];
|
||||
};
|
||||
|
||||
struct tcp_diag_md5sig {
|
||||
uint8_t tcpm_family;
|
||||
uint8_t tcpm_prefixlen;
|
||||
uint16_t tcpm_keylen;
|
||||
uint32_t tcpm_addr[4];
|
||||
uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];
|
||||
};
|
||||
|
||||
#define TCP_REPAIR_ON 1
|
||||
#define TCP_REPAIR_OFF 0
|
||||
#define TCP_REPAIR_OFF_NO_WP -1
|
||||
|
||||
struct tcp_repair_window {
|
||||
uint32_t snd_wl1;
|
||||
uint32_t snd_wnd;
|
||||
uint32_t max_window;
|
||||
uint32_t rcv_wnd;
|
||||
uint32_t rcv_wup;
|
||||
};
|
||||
|
||||
struct tcp_zerocopy_receive {
|
||||
uint64_t address;
|
||||
uint32_t length;
|
||||
uint32_t recv_skip_hint;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
45
third_party/musl/ndk_musl_include/netinet/udp.h
vendored
Normal file
45
third_party/musl/ndk_musl_include/netinet/udp.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
#ifndef _NETINET_UDP_H
|
||||
#define _NETINET_UDP_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define uh_sport source
|
||||
#define uh_dport dest
|
||||
#define uh_ulen len
|
||||
#define uh_sum check
|
||||
#endif
|
||||
|
||||
struct udphdr {
|
||||
uint16_t uh_sport;
|
||||
uint16_t uh_dport;
|
||||
uint16_t uh_ulen;
|
||||
uint16_t uh_sum;
|
||||
};
|
||||
|
||||
#define UDP_CORK 1
|
||||
#define UDP_ENCAP 100
|
||||
#define UDP_NO_CHECK6_TX 101
|
||||
#define UDP_NO_CHECK6_RX 102
|
||||
#define UDP_SEGMENT 103
|
||||
#define UDP_GRO 104
|
||||
|
||||
#define UDP_ENCAP_ESPINUDP_NON_IKE 1
|
||||
#define UDP_ENCAP_ESPINUDP 2
|
||||
#define UDP_ENCAP_L2TPINUDP 3
|
||||
#define UDP_ENCAP_GTP0 4
|
||||
#define UDP_ENCAP_GTP1U 5
|
||||
#define UDP_ENCAP_RXRPC 6
|
||||
|
||||
#define SOL_UDP 17
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
62
third_party/musl/ndk_musl_include/netpacket/packet.h
vendored
Normal file
62
third_party/musl/ndk_musl_include/netpacket/packet.h
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
#ifndef _NETPACKET_PACKET_H
|
||||
#define _NETPACKET_PACKET_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct sockaddr_ll {
|
||||
unsigned short sll_family, sll_protocol;
|
||||
int sll_ifindex;
|
||||
unsigned short sll_hatype;
|
||||
unsigned char sll_pkttype, sll_halen;
|
||||
unsigned char sll_addr[8];
|
||||
};
|
||||
|
||||
struct packet_mreq {
|
||||
int mr_ifindex;
|
||||
unsigned short int mr_type, mr_alen;
|
||||
unsigned char mr_address[8];
|
||||
};
|
||||
|
||||
#define PACKET_HOST 0
|
||||
#define PACKET_BROADCAST 1
|
||||
#define PACKET_MULTICAST 2
|
||||
#define PACKET_OTHERHOST 3
|
||||
#define PACKET_OUTGOING 4
|
||||
#define PACKET_LOOPBACK 5
|
||||
#define PACKET_FASTROUTE 6
|
||||
|
||||
#define PACKET_ADD_MEMBERSHIP 1
|
||||
#define PACKET_DROP_MEMBERSHIP 2
|
||||
#define PACKET_RECV_OUTPUT 3
|
||||
#define PACKET_RX_RING 5
|
||||
#define PACKET_STATISTICS 6
|
||||
#define PACKET_COPY_THRESH 7
|
||||
#define PACKET_AUXDATA 8
|
||||
#define PACKET_ORIGDEV 9
|
||||
#define PACKET_VERSION 10
|
||||
#define PACKET_HDRLEN 11
|
||||
#define PACKET_RESERVE 12
|
||||
#define PACKET_TX_RING 13
|
||||
#define PACKET_LOSS 14
|
||||
#define PACKET_VNET_HDR 15
|
||||
#define PACKET_TX_TIMESTAMP 16
|
||||
#define PACKET_TIMESTAMP 17
|
||||
#define PACKET_FANOUT 18
|
||||
#define PACKET_TX_HAS_OFF 19
|
||||
#define PACKET_QDISC_BYPASS 20
|
||||
#define PACKET_ROLLOVER_STATS 21
|
||||
#define PACKET_FANOUT_DATA 22
|
||||
#define PACKET_IGNORE_OUTGOING 23
|
||||
|
||||
#define PACKET_MR_MULTICAST 0
|
||||
#define PACKET_MR_PROMISC 1
|
||||
#define PACKET_MR_ALLMULTI 2
|
||||
#define PACKET_MR_UNICAST 3
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
22
third_party/musl/ndk_musl_include/nl_types.h
vendored
Normal file
22
third_party/musl/ndk_musl_include/nl_types.h
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
#ifndef _NL_TYPES_H
|
||||
#define _NL_TYPES_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define NL_SETD 1
|
||||
#define NL_CAT_LOCALE 1
|
||||
|
||||
typedef int nl_item;
|
||||
typedef void *nl_catd;
|
||||
|
||||
nl_catd catopen (const char *, int);
|
||||
char *catgets (nl_catd, int, int, const char *);
|
||||
int catclose (nl_catd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
31
third_party/musl/ndk_musl_include/paths.h
vendored
Normal file
31
third_party/musl/ndk_musl_include/paths.h
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef _PATHS_H
|
||||
#define _PATHS_H
|
||||
|
||||
#define _PATH_DEFPATH "/usr/local/bin:/bin:/usr/bin"
|
||||
#define _PATH_STDPATH "/bin:/usr/bin:/sbin:/usr/sbin"
|
||||
|
||||
#define _PATH_BSHELL "/bin/sh"
|
||||
#define _PATH_CONSOLE "/dev/console"
|
||||
#define _PATH_DEVNULL "/dev/null"
|
||||
#define _PATH_KLOG "/proc/kmsg"
|
||||
#define _PATH_LASTLOG "/var/log/lastlog"
|
||||
#define _PATH_MAILDIR "/var/mail"
|
||||
#define _PATH_MAN "/usr/share/man"
|
||||
#define _PATH_MNTTAB "/etc/fstab"
|
||||
#define _PATH_MOUNTED "/etc/mtab"
|
||||
#define _PATH_NOLOGIN "/etc/nologin"
|
||||
#define _PATH_SENDMAIL "/usr/sbin/sendmail"
|
||||
#define _PATH_SHADOW "/etc/shadow"
|
||||
#define _PATH_SHELLS "/etc/shells"
|
||||
#define _PATH_TTY "/dev/tty"
|
||||
#define _PATH_UTMP "/dev/null/utmp"
|
||||
#define _PATH_VI "/usr/bin/vi"
|
||||
#define _PATH_WTMP "/dev/null/wtmp"
|
||||
|
||||
#define _PATH_DEV "/dev/"
|
||||
#define _PATH_TMP "/tmp/"
|
||||
#define _PATH_VARDB "/var/lib/misc/"
|
||||
#define _PATH_VARRUN "/var/run/"
|
||||
#define _PATH_VARTMP "/var/tmp/"
|
||||
|
||||
#endif
|
59
third_party/musl/ndk_musl_include/poll.h
vendored
Normal file
59
third_party/musl/ndk_musl_include/poll.h
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
#ifndef _POLL_H
|
||||
#define _POLL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#include <bits/poll.h>
|
||||
|
||||
#define POLLIN 0x001
|
||||
#define POLLPRI 0x002
|
||||
#define POLLOUT 0x004
|
||||
#define POLLERR 0x008
|
||||
#define POLLHUP 0x010
|
||||
#define POLLNVAL 0x020
|
||||
#define POLLRDNORM 0x040
|
||||
#define POLLRDBAND 0x080
|
||||
#ifndef POLLWRNORM
|
||||
#define POLLWRNORM 0x100
|
||||
#define POLLWRBAND 0x200
|
||||
#endif
|
||||
#ifndef POLLMSG
|
||||
#define POLLMSG 0x400
|
||||
#define POLLRDHUP 0x2000
|
||||
#endif
|
||||
|
||||
typedef unsigned long nfds_t;
|
||||
|
||||
struct pollfd {
|
||||
int fd;
|
||||
short events;
|
||||
short revents;
|
||||
};
|
||||
|
||||
int poll (struct pollfd *, nfds_t, int);
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define __NEED_time_t
|
||||
#define __NEED_struct_timespec
|
||||
#define __NEED_sigset_t
|
||||
#include <bits/alltypes.h>
|
||||
int ppoll(struct pollfd *, nfds_t, const struct timespec *, const sigset_t *);
|
||||
#endif
|
||||
|
||||
#if _REDIR_TIME64
|
||||
#ifdef _GNU_SOURCE
|
||||
__REDIR(ppoll, __ppoll_time64);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <fortify/poll.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
393
third_party/musl/ndk_musl_include/pthread.h
vendored
Normal file
393
third_party/musl/ndk_musl_include/pthread.h
vendored
Normal file
@ -0,0 +1,393 @@
|
||||
/*
|
||||
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _PTHREAD_H
|
||||
#define _PTHREAD_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
/* Musl did not provide the "owner" macro directly,
|
||||
* so users can not access the mutex-ower-ID.
|
||||
* Thus we added this macro for getting the owner-ID
|
||||
* of the mutex. */
|
||||
|
||||
/* These macros provides macros for accessing inner
|
||||
* attributes of the pthread_mutex_t struct.
|
||||
* It is intended for solving the coompiling failure
|
||||
* of Dopra codes which claims that .__data.* realm
|
||||
* can not be found in pthread_mutex_t. */
|
||||
|
||||
#define __NEED_time_t
|
||||
#define __NEED_clockid_t
|
||||
#define __NEED_struct_timespec
|
||||
#define __NEED_sigset_t
|
||||
#define __NEED_pthread_t
|
||||
#define __NEED_pthread_attr_t
|
||||
#define __NEED_pthread_mutexattr_t
|
||||
#define __NEED_pthread_condattr_t
|
||||
#define __NEED_pthread_rwlockattr_t
|
||||
#define __NEED_pthread_barrierattr_t
|
||||
#define __NEED_pthread_mutex_t
|
||||
#define __NEED_pthread_cond_t
|
||||
#define __NEED_pthread_rwlock_t
|
||||
#define __NEED_pthread_barrier_t
|
||||
#define __NEED_pthread_spinlock_t
|
||||
#define __NEED_pthread_key_t
|
||||
#define __NEED_pthread_once_t
|
||||
#define __NEED_size_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#include <sched.h>
|
||||
#include <time.h>
|
||||
|
||||
#define PTHREAD_CREATE_JOINABLE 0
|
||||
#define PTHREAD_CREATE_DETACHED 1
|
||||
|
||||
#define PTHREAD_MUTEX_NORMAL 0
|
||||
#define PTHREAD_MUTEX_DEFAULT 0
|
||||
#define PTHREAD_MUTEX_RECURSIVE 1
|
||||
#define PTHREAD_MUTEX_ERRORCHECK 2
|
||||
|
||||
#define PTHREAD_MUTEX_STALLED 0
|
||||
#define PTHREAD_MUTEX_ROBUST 1
|
||||
|
||||
#define PTHREAD_PRIO_NONE 0
|
||||
#define PTHREAD_PRIO_INHERIT 1
|
||||
#define PTHREAD_PRIO_PROTECT 2
|
||||
|
||||
#define PTHREAD_INHERIT_SCHED 0
|
||||
#define PTHREAD_EXPLICIT_SCHED 1
|
||||
|
||||
#define PTHREAD_SCOPE_SYSTEM 0
|
||||
#define PTHREAD_SCOPE_PROCESS 1
|
||||
|
||||
#define PTHREAD_PROCESS_PRIVATE 0
|
||||
#define PTHREAD_PROCESS_SHARED 1
|
||||
|
||||
|
||||
#define PTHREAD_MUTEX_INITIALIZER {{{0}}}
|
||||
#define PTHREAD_RWLOCK_INITIALIZER {{{0}}}
|
||||
#define PTHREAD_COND_INITIALIZER {{{0}}}
|
||||
#define PTHREAD_ONCE_INIT 0
|
||||
|
||||
|
||||
#define PTHREAD_CANCEL_ENABLE 0
|
||||
#define PTHREAD_CANCEL_DISABLE 1
|
||||
#define PTHREAD_CANCEL_MASKED 2
|
||||
|
||||
#define PTHREAD_CANCEL_DEFERRED 0
|
||||
#define PTHREAD_CANCEL_ASYNCHRONOUS 1
|
||||
|
||||
#define PTHREAD_CANCELED ((void *)-1)
|
||||
|
||||
|
||||
#define PTHREAD_BARRIER_SERIAL_THREAD (-1)
|
||||
|
||||
|
||||
int pthread_create(pthread_t *__restrict, const pthread_attr_t *__restrict, void *(*)(void *), void *__restrict);
|
||||
int pthread_detach(pthread_t);
|
||||
_Noreturn void pthread_exit(void *);
|
||||
int pthread_join(pthread_t, void **);
|
||||
pid_t pthread_gettid_np(pthread_t);
|
||||
|
||||
#ifdef __GNUC__
|
||||
__attribute__((const))
|
||||
#endif
|
||||
pthread_t pthread_self(void);
|
||||
|
||||
int pthread_equal(pthread_t, pthread_t);
|
||||
#ifndef __cplusplus
|
||||
#define pthread_equal(x,y) ((x)==(y))
|
||||
#endif
|
||||
|
||||
int pthread_getschedparam(pthread_t, int *__restrict, struct sched_param *__restrict);
|
||||
int pthread_setschedparam(pthread_t, int, const struct sched_param *);
|
||||
int pthread_setschedprio(pthread_t, int);
|
||||
|
||||
int pthread_once(pthread_once_t *, void (*)(void));
|
||||
|
||||
int pthread_mutex_init(pthread_mutex_t *__restrict, const pthread_mutexattr_t *__restrict);
|
||||
int pthread_mutex_lock(pthread_mutex_t *);
|
||||
int pthread_mutex_unlock(pthread_mutex_t *);
|
||||
int pthread_mutex_trylock(pthread_mutex_t *);
|
||||
int pthread_mutex_timedlock(pthread_mutex_t *__restrict, const struct timespec *__restrict);
|
||||
int pthread_mutex_destroy(pthread_mutex_t *);
|
||||
/**
|
||||
* @brief lock the mutex object referenced by mutex. If the mutex is already locked,
|
||||
* the calling thread shall block until the mutex becomes available as in the
|
||||
* pthread_mutex_lock() function. If the mutex cannot be locked without waiting for
|
||||
* another thread to unlock the mutex, this wait shall be terminated when the specified
|
||||
* timeout expires. The timeout shall be based on the CLOCK_REALTIME or CLOCK_MONOTONIC clock.
|
||||
* The resolution of the timeout shall be the resolution of the clock on which it is based.
|
||||
* @param mutex a robust mutex and the process containing the owning thread terminated while holding the mutex lock.
|
||||
* @param clock_id specified CLOCK_REALTIME or CLOCK_MONOTONIC clock.
|
||||
* @param timespec the timeout shall expire specified by abstime passes.
|
||||
* @return clocklock result.
|
||||
* @retval 0 is returned on success.
|
||||
* @retval -1 is returned on failure, and errno is set to indicate the error.
|
||||
*/
|
||||
int pthread_mutex_clocklock(pthread_mutex_t *__restrict, clockid_t, const struct timespec *__restrict);
|
||||
/**
|
||||
* @brief lock the mutex object referenced by mutex. If the mutex is already locked,
|
||||
* the calling thread shall block until the mutex becomes available as in the
|
||||
* pthread_mutex_lock() function. If the mutex cannot be locked without waiting for
|
||||
* another thread to unlock the mutex, this wait shall be terminated when the specified
|
||||
* timeout expires. The timeout shall be based on the CLOCK_MONOTONIC clock.
|
||||
* The resolution of the timeout shall be the resolution of the clock on which it is based.
|
||||
* @param mutex a robust mutex and the process containing the owning thread terminated while holding the mutex lock.
|
||||
* @param timespec the timeout shall expire specified by abstime passes.
|
||||
* @return clocklock result.
|
||||
* @retval 0 is returned on success.
|
||||
* @retval -1 is returned on failure, and errno is set to indicate the error.
|
||||
*/
|
||||
int pthread_mutex_timedlock_monotonic_np(pthread_mutex_t *__restrict, const struct timespec *__restrict);
|
||||
/**
|
||||
* @brief lock the mutex object referenced by mutex. If the mutex is already locked,
|
||||
* the calling thread shall block until the mutex becomes available as in the
|
||||
* pthread_mutex_lock() function. If the mutex cannot be locked without waiting for
|
||||
* another thread to unlock the mutex, this wait shall be terminated when the specified
|
||||
* timeout expires. The timeout shall be based on the CLOCK_MONOTONIC clock.
|
||||
* The resolution of the timeout shall be the resolution of the clock on which it is based.
|
||||
* @param mutex a robust mutex and the process containing the owning thread terminated while holding the mutex lock.
|
||||
* @param ms the timeout shall expire specified by relative time(ms) passes.
|
||||
* @return clocklock result.
|
||||
* @retval 0 is returned on success.
|
||||
* @retval -1 is returned on failure, and errno is set to indicate the error.
|
||||
*/
|
||||
int pthread_mutex_lock_timeout_np(pthread_mutex_t *__restrict, unsigned int);
|
||||
|
||||
int pthread_cond_init(pthread_cond_t *__restrict, const pthread_condattr_t *__restrict);
|
||||
int pthread_cond_destroy(pthread_cond_t *);
|
||||
int pthread_cond_wait(pthread_cond_t *__restrict, pthread_mutex_t *__restrict);
|
||||
int pthread_cond_timedwait(pthread_cond_t *__restrict, pthread_mutex_t *__restrict, const struct timespec *__restrict);
|
||||
/**
|
||||
* @brief The thread waits for a signal to trigger, and if timeout or signal is triggered,
|
||||
* the thread wakes up.
|
||||
* @param pthread_cond_t Condition variables for multithreading.
|
||||
* @param pthread_mutex_t Thread mutex variable.
|
||||
* @param clockid_t Clock ID used in clock and timer functions.
|
||||
* @param timespec The timeout shall expire specified by abstime passes.
|
||||
* @return pthread_cond_clockwait result.
|
||||
* @retval 0 pthread_cond_clockwait successful.
|
||||
* @retval ETIMEDOUT pthread_cond_clockwait Connection timed out.
|
||||
* @retval EINVAL pthread_cond_clockwait error.
|
||||
*/
|
||||
int pthread_cond_clockwait(pthread_cond_t *__restrict, pthread_mutex_t *__restrict,
|
||||
clockid_t, const struct timespec *__restrict);
|
||||
|
||||
/**
|
||||
* @brief Condition variables have an initialization option to use CLOCK_MONOTONIC.
|
||||
* The thread waits for a signal to trigger, and if timeout or signal is triggered,
|
||||
* the thread wakes up.
|
||||
* @param pthread_cond_t Condition variables for multithreading.
|
||||
* @param pthread_mutex_t Thread mutex variable.
|
||||
* @param timespec The timeout shall expire specified by abstime passes.
|
||||
* @return pthread_cond_timedwait_monotonic_np result.
|
||||
* @retval 0 pthread_cond_timedwait_monotonic_np successful.
|
||||
* @retval ETIMEDOUT pthread_cond_timedwait_monotonic_np Connection timed out.
|
||||
* @retval EINVAL pthread_cond_timedwait_monotonic_np error.
|
||||
*/
|
||||
int pthread_cond_timedwait_monotonic_np(pthread_cond_t *__restrict, pthread_mutex_t *__restrict,
|
||||
const struct timespec *__restrict);
|
||||
|
||||
/**
|
||||
* @brief Condition variables have an initialization option to use CLOCK_MONOTONIC and The time
|
||||
* parameter is in milliseconds. The thread waits for a signal to trigger, and if timeout or
|
||||
* signal is triggered, the thread wakes up.
|
||||
* @param pthread_cond_t Condition variables for multithreading.
|
||||
* @param pthread_mutex_t Thread mutex variable.
|
||||
* @param unsigned Timeout, in milliseconds.
|
||||
* @return pthread_cond_timeout_np result.
|
||||
* @retval 0 pthread_cond_timeout_np successful.
|
||||
* @retval ETIMEDOUT pthread_cond_timeout_np Connection timed out.
|
||||
* @retval EINVAL pthread_cond_timeout_np error.
|
||||
*/
|
||||
int pthread_cond_timeout_np(pthread_cond_t* __restrict, pthread_mutex_t* __restrict, unsigned int);
|
||||
int pthread_cond_broadcast(pthread_cond_t *);
|
||||
int pthread_cond_signal(pthread_cond_t *);
|
||||
|
||||
int pthread_rwlock_init(pthread_rwlock_t *__restrict, const pthread_rwlockattr_t *__restrict);
|
||||
int pthread_rwlock_destroy(pthread_rwlock_t *);
|
||||
int pthread_rwlock_rdlock(pthread_rwlock_t *);
|
||||
int pthread_rwlock_tryrdlock(pthread_rwlock_t *);
|
||||
int pthread_rwlock_timedrdlock(pthread_rwlock_t *__restrict, const struct timespec *__restrict);
|
||||
/**
|
||||
* @brief Apply a read lock to the read-write lock referenced by rwlock as in the
|
||||
* pthread_rwlock_rdlock() function. However, if the lock cannot be acquired without
|
||||
* waiting for other threads to unlock the lock, this wait shall be terminated when
|
||||
* the specified timeout expires. The timeout shall expire when the absolute time specified by
|
||||
* abstime passes, as measured by the clock on which timeouts are based, or if the absolute time
|
||||
* specified by abstime has already been passed at the time of the call.
|
||||
* The timeout shall be based on the CLOCK_REALTIME or CLOCK_MONOTONIC clock.
|
||||
* @param rw a read lock to the read-write lock referenced.
|
||||
* @param clock_id specified CLOCK_REALTIME or CLOCK_MONOTONIC clock.
|
||||
* @param timespec the timeout shall expire specified by abstime passes.
|
||||
* @return clockrdlock result.
|
||||
* @retval 0 is returned on success.
|
||||
* @retval -1 is returned on failure, and errno is set to indicate the error.
|
||||
*/
|
||||
int pthread_rwlock_clockrdlock(pthread_rwlock_t *__restrict, clockid_t, const struct timespec *__restrict);
|
||||
/**
|
||||
* @brief Apply a read lock to the read-write lock referenced by rwlock as in the
|
||||
* pthread_rwlock_rdlock() function. However, if the lock cannot be acquired without
|
||||
* waiting for other threads to unlock the lock, this wait shall be terminated when
|
||||
* the specified timeout expires. The timeout shall expire when the absolute time specified by
|
||||
* abstime passes, as measured by the clock on which timeouts are based, or if the absolute time
|
||||
* specified by abstime has already been passed at the time of the call.
|
||||
* The timeout shall be based on the CLOCK_MONOTONIC clock.
|
||||
* @param rw a read lock to the read-write lock referenced.
|
||||
* @param timespec the timeout shall expire specified by abstime passes.
|
||||
* @return clockrdlock result.
|
||||
* @retval 0 is returned on success.
|
||||
* @retval -1 is returned on failure, and errno is set to indicate the error.
|
||||
*/
|
||||
int pthread_rwlock_timedrdlock_monotonic_np(pthread_rwlock_t *__restrict, const struct timespec *__restrict);
|
||||
int pthread_rwlock_wrlock(pthread_rwlock_t *);
|
||||
int pthread_rwlock_trywrlock(pthread_rwlock_t *);
|
||||
int pthread_rwlock_timedwrlock(pthread_rwlock_t *__restrict, const struct timespec *__restrict);
|
||||
int pthread_rwlock_unlock(pthread_rwlock_t *);
|
||||
/**
|
||||
* @brief Read-write lock variables have an initialization option to use CLOCK_MONOTONIC.
|
||||
* apply a read lock to the read-write lock referenced by rwlock as in the
|
||||
* pthread_rwlock_wrlock() function. However, if the lock cannot be acquired without
|
||||
* waiting for other threads to unlock the lock, this wait shall be terminated when
|
||||
* the specified timeout expires. The timeout shall expire when the absolute time specified by
|
||||
* abstime passes, as measured by the clock on which timeouts are based, or if the absolute time
|
||||
* specified by abstime has already been passed at the time of the call.
|
||||
* The timeout shall be based on the CLOCK_MONOTONIC clock.
|
||||
* @param rw a read lock to the read-write lock referenced.
|
||||
* @param timespec the timeout shall expire specified by abstime passes.
|
||||
* @return clockrdlock result.
|
||||
* @retval 0 is returned on success.
|
||||
* @retval -1 is returned on failure, and errno is set to indicate the error.
|
||||
*/
|
||||
int pthread_rwlock_timedwrlock_monotonic_np(pthread_rwlock_t *__restrict, const struct timespec *__restrict);
|
||||
|
||||
/**
|
||||
* @brief Apply a read lock to the read-write lock referenced by rwlock as in the
|
||||
* pthread_rwlock_wrlock() function. However, if the lock cannot be acquired without
|
||||
* waiting for other threads to unlock the lock, this wait shall be terminated when
|
||||
* the specified timeout expires. The timeout shall expire when the absolute time specified by
|
||||
* abstime passes, as measured by the clock on which timeouts are based, or if the absolute time
|
||||
* specified by abstime has already been passed at the time of the call.
|
||||
* The timeout shall be based on the CLOCK_REALTIME or CLOCK_MONOTONIC clock.
|
||||
* @param rw a read lock to the read-write lock referenced.
|
||||
* @param clock_id specified CLOCK_REALTIME or CLOCK_MONOTONIC clock.
|
||||
* @param timespec the timeout shall expire specified by abstime passes.
|
||||
* @return clockrdlock result.
|
||||
* @retval 0 is returned on success.
|
||||
* @retval -1 is returned on failure, and errno is set to indicate the error.
|
||||
*/
|
||||
int pthread_rwlock_clockwrlock(pthread_rwlock_t *__restrict, clockid_t, const struct timespec *__restrict);
|
||||
|
||||
int pthread_spin_init(pthread_spinlock_t *, int);
|
||||
int pthread_spin_destroy(pthread_spinlock_t *);
|
||||
int pthread_spin_lock(pthread_spinlock_t *);
|
||||
int pthread_spin_trylock(pthread_spinlock_t *);
|
||||
int pthread_spin_unlock(pthread_spinlock_t *);
|
||||
|
||||
int pthread_barrier_init(pthread_barrier_t *__restrict, const pthread_barrierattr_t *__restrict, unsigned);
|
||||
int pthread_barrier_destroy(pthread_barrier_t *);
|
||||
int pthread_barrier_wait(pthread_barrier_t *);
|
||||
|
||||
int pthread_key_create(pthread_key_t *, void (*)(void *));
|
||||
int pthread_key_delete(pthread_key_t);
|
||||
void *pthread_getspecific(pthread_key_t);
|
||||
int pthread_setspecific(pthread_key_t, const void *);
|
||||
|
||||
int pthread_attr_init(pthread_attr_t *);
|
||||
int pthread_attr_destroy(pthread_attr_t *);
|
||||
|
||||
int pthread_attr_getguardsize(const pthread_attr_t *__restrict, size_t *__restrict);
|
||||
int pthread_attr_setguardsize(pthread_attr_t *, size_t);
|
||||
int pthread_attr_getstacksize(const pthread_attr_t *__restrict, size_t *__restrict);
|
||||
int pthread_attr_setstacksize(pthread_attr_t *, size_t);
|
||||
int pthread_attr_getdetachstate(const pthread_attr_t *, int *);
|
||||
int pthread_attr_setdetachstate(pthread_attr_t *, int);
|
||||
int pthread_attr_getstack(const pthread_attr_t *__restrict, void **__restrict, size_t *__restrict);
|
||||
int pthread_attr_setstack(pthread_attr_t *, void *, size_t);
|
||||
int pthread_attr_getscope(const pthread_attr_t *__restrict, int *__restrict);
|
||||
int pthread_attr_setscope(pthread_attr_t *, int);
|
||||
int pthread_attr_getschedpolicy(const pthread_attr_t *__restrict, int *__restrict);
|
||||
int pthread_attr_setschedpolicy(pthread_attr_t *, int);
|
||||
int pthread_attr_getschedparam(const pthread_attr_t *__restrict, struct sched_param *__restrict);
|
||||
int pthread_attr_setschedparam(pthread_attr_t *__restrict, const struct sched_param *__restrict);
|
||||
int pthread_attr_getinheritsched(const pthread_attr_t *__restrict, int *__restrict);
|
||||
int pthread_attr_setinheritsched(pthread_attr_t *, int);
|
||||
|
||||
int pthread_mutexattr_destroy(pthread_mutexattr_t *);
|
||||
int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *__restrict, int *__restrict);
|
||||
int pthread_mutexattr_getpshared(const pthread_mutexattr_t *__restrict, int *__restrict);
|
||||
int pthread_mutexattr_gettype(const pthread_mutexattr_t *__restrict, int *__restrict);
|
||||
int pthread_mutexattr_init(pthread_mutexattr_t *);
|
||||
int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int);
|
||||
int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int);
|
||||
int pthread_mutexattr_settype(pthread_mutexattr_t *, int);
|
||||
|
||||
int pthread_condattr_init(pthread_condattr_t *);
|
||||
int pthread_condattr_destroy(pthread_condattr_t *);
|
||||
int pthread_condattr_setclock(pthread_condattr_t *, clockid_t);
|
||||
int pthread_condattr_setpshared(pthread_condattr_t *, int);
|
||||
int pthread_condattr_getclock(const pthread_condattr_t *__restrict, clockid_t *__restrict);
|
||||
int pthread_condattr_getpshared(const pthread_condattr_t *__restrict, int *__restrict);
|
||||
|
||||
int pthread_rwlockattr_init(pthread_rwlockattr_t *);
|
||||
int pthread_rwlockattr_destroy(pthread_rwlockattr_t *);
|
||||
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int);
|
||||
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *__restrict, int *__restrict);
|
||||
|
||||
int pthread_barrierattr_destroy(pthread_barrierattr_t *);
|
||||
int pthread_barrierattr_getpshared(const pthread_barrierattr_t *__restrict, int *__restrict);
|
||||
int pthread_barrierattr_init(pthread_barrierattr_t *);
|
||||
int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int);
|
||||
|
||||
int pthread_atfork(void (*)(void), void (*)(void), void (*)(void));
|
||||
|
||||
int pthread_getcpuclockid(pthread_t, clockid_t *);
|
||||
|
||||
struct __ptcb {
|
||||
void (*__f)(void *);
|
||||
void *__x;
|
||||
struct __ptcb *__next;
|
||||
};
|
||||
|
||||
void _pthread_cleanup_push(struct __ptcb *, void (*)(void *), void *);
|
||||
void _pthread_cleanup_pop(struct __ptcb *, int);
|
||||
|
||||
#define pthread_cleanup_push(f, x) do { struct __ptcb __cb; _pthread_cleanup_push(&__cb, f, x);
|
||||
#define pthread_cleanup_pop(r) _pthread_cleanup_pop(&__cb, (r)); } while(0)
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
struct cpu_set_t;
|
||||
int pthread_getattr_np(pthread_t, pthread_attr_t *);
|
||||
int pthread_setname_np(pthread_t, const char *);
|
||||
int pthread_getname_np(pthread_t, char *, size_t);
|
||||
#endif
|
||||
|
||||
#if _REDIR_TIME64
|
||||
__REDIR(pthread_mutex_timedlock, __pthread_mutex_timedlock_time64);
|
||||
__REDIR(pthread_cond_timedwait, __pthread_cond_timedwait_time64);
|
||||
__REDIR(pthread_rwlock_timedrdlock, __pthread_rwlock_timedrdlock_time64);
|
||||
__REDIR(pthread_rwlock_timedwrlock, __pthread_rwlock_timedwrlock_time64);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
18
third_party/musl/ndk_musl_include/pty.h
vendored
Normal file
18
third_party/musl/ndk_musl_include/pty.h
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef _PTY_H
|
||||
#define _PTY_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <termios.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
int openpty(int *, int *, char *, const struct termios *, const struct winsize *);
|
||||
int forkpty(int *, char *, const struct termios *, const struct winsize *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
45
third_party/musl/ndk_musl_include/pwd.h
vendored
Normal file
45
third_party/musl/ndk_musl_include/pwd.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
#ifndef _PWD_H
|
||||
#define _PWD_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_size_t
|
||||
#define __NEED_uid_t
|
||||
#define __NEED_gid_t
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define __NEED_FILE
|
||||
#endif
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
struct passwd {
|
||||
char *pw_name;
|
||||
char *pw_passwd;
|
||||
uid_t pw_uid;
|
||||
gid_t pw_gid;
|
||||
char *pw_gecos;
|
||||
char *pw_dir;
|
||||
char *pw_shell;
|
||||
};
|
||||
|
||||
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
||||
void setpwent (void);
|
||||
void endpwent (void);
|
||||
struct passwd *getpwent (void);
|
||||
#endif
|
||||
|
||||
struct passwd *getpwuid (uid_t);
|
||||
struct passwd *getpwnam (const char *);
|
||||
int getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **);
|
||||
int getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
62
third_party/musl/ndk_musl_include/regex.h
vendored
Normal file
62
third_party/musl/ndk_musl_include/regex.h
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
#ifndef _REGEX_H
|
||||
#define _REGEX_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_regoff_t
|
||||
#define __NEED_size_t
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
typedef struct re_pattern_buffer {
|
||||
size_t re_nsub;
|
||||
void *__opaque, *__padding[4];
|
||||
size_t __nsub2;
|
||||
char __padding2;
|
||||
} regex_t;
|
||||
|
||||
typedef struct {
|
||||
regoff_t rm_so;
|
||||
regoff_t rm_eo;
|
||||
} regmatch_t;
|
||||
|
||||
#define REG_EXTENDED 1
|
||||
#define REG_ICASE 2
|
||||
#define REG_NEWLINE 4
|
||||
#define REG_NOSUB 8
|
||||
|
||||
#define REG_NOTBOL 1
|
||||
#define REG_NOTEOL 2
|
||||
|
||||
#define REG_OK 0
|
||||
#define REG_NOMATCH 1
|
||||
#define REG_BADPAT 2
|
||||
#define REG_ECOLLATE 3
|
||||
#define REG_ECTYPE 4
|
||||
#define REG_EESCAPE 5
|
||||
#define REG_ESUBREG 6
|
||||
#define REG_EBRACK 7
|
||||
#define REG_EPAREN 8
|
||||
#define REG_EBRACE 9
|
||||
#define REG_BADBR 10
|
||||
#define REG_ERANGE 11
|
||||
#define REG_ESPACE 12
|
||||
#define REG_BADRPT 13
|
||||
|
||||
#define REG_ENOSYS -1
|
||||
|
||||
int regcomp(regex_t *__restrict, const char *__restrict, int);
|
||||
int regexec(const regex_t *__restrict, const char *__restrict, size_t, regmatch_t *__restrict, int);
|
||||
void regfree(regex_t *);
|
||||
|
||||
size_t regerror(int, const regex_t *__restrict, char *__restrict, size_t);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
141
third_party/musl/ndk_musl_include/resolv.h
vendored
Normal file
141
third_party/musl/ndk_musl_include/resolv.h
vendored
Normal file
@ -0,0 +1,141 @@
|
||||
#ifndef _RESOLV_H
|
||||
#define _RESOLV_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MAXNS 3
|
||||
#define MAXDFLSRCH 3
|
||||
#define MAXDNSRCH 6
|
||||
#define LOCALDOMAINPARTS 2
|
||||
|
||||
#define RES_TIMEOUT 5
|
||||
#define MAXRESOLVSORT 10
|
||||
#define RES_MAXNDOTS 15
|
||||
#define RES_MAXRETRANS 30
|
||||
#define RES_MAXRETRY 5
|
||||
#define RES_DFLRETRY 2
|
||||
#define RES_MAXTIME 65535
|
||||
|
||||
/* unused; purely for broken apps */
|
||||
typedef struct __res_state {
|
||||
int retrans;
|
||||
int retry;
|
||||
unsigned long options;
|
||||
int nscount;
|
||||
struct sockaddr_in nsaddr_list[MAXNS];
|
||||
# define nsaddr nsaddr_list[0]
|
||||
unsigned short id;
|
||||
char *dnsrch[MAXDNSRCH+1];
|
||||
char defdname[256];
|
||||
unsigned long pfcode;
|
||||
unsigned ndots:4;
|
||||
unsigned nsort:4;
|
||||
unsigned ipv6_unavail:1;
|
||||
unsigned unused:23;
|
||||
struct {
|
||||
struct in_addr addr;
|
||||
uint32_t mask;
|
||||
} sort_list[MAXRESOLVSORT];
|
||||
void *qhook;
|
||||
void *rhook;
|
||||
int res_h_errno;
|
||||
int _vcsock;
|
||||
unsigned _flags;
|
||||
union {
|
||||
char pad[52];
|
||||
struct {
|
||||
uint16_t nscount;
|
||||
uint16_t nsmap[MAXNS];
|
||||
int nssocks[MAXNS];
|
||||
uint16_t nscount6;
|
||||
uint16_t nsinit;
|
||||
struct sockaddr_in6 *nsaddrs[MAXNS];
|
||||
unsigned int _initstamp[2];
|
||||
} _ext;
|
||||
} _u;
|
||||
} *res_state;
|
||||
|
||||
#define __RES 19960801
|
||||
|
||||
#ifndef _PATH_RESCONF
|
||||
#define _PATH_RESCONF "/etc/resolv.conf"
|
||||
#endif
|
||||
|
||||
struct res_sym {
|
||||
int number;
|
||||
char *name;
|
||||
char *humanname;
|
||||
};
|
||||
|
||||
#define RES_F_VC 0x00000001
|
||||
#define RES_F_CONN 0x00000002
|
||||
#define RES_F_EDNS0ERR 0x00000004
|
||||
|
||||
#define RES_EXHAUSTIVE 0x00000001
|
||||
|
||||
#define RES_INIT 0x00000001
|
||||
#define RES_DEBUG 0x00000002
|
||||
#define RES_AAONLY 0x00000004
|
||||
#define RES_USEVC 0x00000008
|
||||
#define RES_PRIMARY 0x00000010
|
||||
#define RES_IGNTC 0x00000020
|
||||
#define RES_RECURSE 0x00000040
|
||||
#define RES_DEFNAMES 0x00000080
|
||||
#define RES_STAYOPEN 0x00000100
|
||||
#define RES_DNSRCH 0x00000200
|
||||
#define RES_INSECURE1 0x00000400
|
||||
#define RES_INSECURE2 0x00000800
|
||||
#define RES_NOALIASES 0x00001000
|
||||
#define RES_USE_INET6 0x00002000
|
||||
#define RES_ROTATE 0x00004000
|
||||
#define RES_NOCHECKNAME 0x00008000
|
||||
#define RES_KEEPTSIG 0x00010000
|
||||
#define RES_BLAST 0x00020000
|
||||
#define RES_USEBSTRING 0x00040000
|
||||
#define RES_NOIP6DOTINT 0x00080000
|
||||
#define RES_USE_EDNS0 0x00100000
|
||||
#define RES_SNGLKUP 0x00200000
|
||||
#define RES_SNGLKUPREOP 0x00400000
|
||||
#define RES_USE_DNSSEC 0x00800000
|
||||
|
||||
#define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH|RES_NOIP6DOTINT)
|
||||
|
||||
#define RES_PRF_STATS 0x00000001
|
||||
#define RES_PRF_UPDATE 0x00000002
|
||||
#define RES_PRF_CLASS 0x00000004
|
||||
#define RES_PRF_CMD 0x00000008
|
||||
#define RES_PRF_QUES 0x00000010
|
||||
#define RES_PRF_ANS 0x00000020
|
||||
#define RES_PRF_AUTH 0x00000040
|
||||
#define RES_PRF_ADD 0x00000080
|
||||
#define RES_PRF_HEAD1 0x00000100
|
||||
#define RES_PRF_HEAD2 0x00000200
|
||||
#define RES_PRF_TTLID 0x00000400
|
||||
#define RES_PRF_HEADX 0x00000800
|
||||
#define RES_PRF_QUERY 0x00001000
|
||||
#define RES_PRF_REPLY 0x00002000
|
||||
#define RES_PRF_INIT 0x00004000
|
||||
|
||||
#define _res (*__res_state())
|
||||
|
||||
int res_init(void);
|
||||
int res_query(const char *, int, int, unsigned char *, int);
|
||||
int res_querydomain(const char *, const char *, int, int, unsigned char *, int);
|
||||
int res_search(const char *, int, int, unsigned char *, int);
|
||||
int res_mkquery(int, const char *, int, int, const unsigned char *, int, const unsigned char*, unsigned char *, int);
|
||||
int res_send(const unsigned char *, int, unsigned char *, int);
|
||||
int dn_comp(const char *, unsigned char *, int, unsigned char **, unsigned char **);
|
||||
int dn_expand(const unsigned char *, const unsigned char *, const unsigned char *, char *, int);
|
||||
int dn_skipname(const unsigned char *, const unsigned char *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
152
third_party/musl/ndk_musl_include/sched.h
vendored
Normal file
152
third_party/musl/ndk_musl_include/sched.h
vendored
Normal file
@ -0,0 +1,152 @@
|
||||
#ifndef _SCHED_H
|
||||
#define _SCHED_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __NEED_struct_timespec
|
||||
#define __NEED_pid_t
|
||||
#define __NEED_time_t
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define __NEED_size_t
|
||||
#endif
|
||||
|
||||
#include <bits/alltypes.h>
|
||||
#include <stddef.h>
|
||||
struct sched_param {
|
||||
int sched_priority;
|
||||
int __reserved1;
|
||||
#if _REDIR_TIME64
|
||||
long __reserved2[4];
|
||||
#else
|
||||
struct {
|
||||
time_t __reserved1;
|
||||
long __reserved2;
|
||||
} __reserved2[2];
|
||||
#endif
|
||||
int __reserved3;
|
||||
};
|
||||
|
||||
int sched_get_priority_max(int);
|
||||
int sched_get_priority_min(int);
|
||||
int sched_getparam(pid_t, struct sched_param *);
|
||||
int sched_getscheduler(pid_t);
|
||||
int sched_rr_get_interval(pid_t, struct timespec *);
|
||||
int sched_setparam(pid_t, const struct sched_param *);
|
||||
int sched_setscheduler(pid_t, int, const struct sched_param *);
|
||||
int sched_yield(void);
|
||||
|
||||
|
||||
#define SCHED_OTHER 0
|
||||
#define SCHED_FIFO 1
|
||||
#define SCHED_RR 2
|
||||
#define SCHED_BATCH 3
|
||||
#define SCHED_IDLE 5
|
||||
#define SCHED_DEADLINE 6
|
||||
#define SCHED_RESET_ON_FORK 0x40000000
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
#define CSIGNAL 0x000000ff
|
||||
#define CLONE_VM 0x00000100
|
||||
#define CLONE_FS 0x00000200
|
||||
#define CLONE_FILES 0x00000400
|
||||
#define CLONE_SIGHAND 0x00000800
|
||||
#define CLONE_PIDFD 0x00001000
|
||||
#define CLONE_PTRACE 0x00002000
|
||||
#define CLONE_VFORK 0x00004000
|
||||
#define CLONE_PARENT 0x00008000
|
||||
#define CLONE_THREAD 0x00010000
|
||||
#define CLONE_NEWNS 0x00020000
|
||||
#define CLONE_SYSVSEM 0x00040000
|
||||
#define CLONE_SETTLS 0x00080000
|
||||
#define CLONE_PARENT_SETTID 0x00100000
|
||||
#define CLONE_CHILD_CLEARTID 0x00200000
|
||||
#define CLONE_DETACHED 0x00400000
|
||||
#define CLONE_UNTRACED 0x00800000
|
||||
#define CLONE_CHILD_SETTID 0x01000000
|
||||
#define CLONE_NEWCGROUP 0x02000000
|
||||
#define CLONE_NEWUTS 0x04000000
|
||||
#define CLONE_NEWIPC 0x08000000
|
||||
#define CLONE_NEWUSER 0x10000000
|
||||
#define CLONE_NEWPID 0x20000000
|
||||
#define CLONE_NEWNET 0x40000000
|
||||
#define CLONE_IO 0x80000000
|
||||
int clone (int (*)(void *), void *, int, void *, ...);
|
||||
int unshare(int);
|
||||
int setns(int, int);
|
||||
|
||||
void *memcpy(void *__restrict, const void *__restrict, size_t);
|
||||
int memcmp(const void *, const void *, size_t);
|
||||
void *memset (void *, int, size_t);
|
||||
void *calloc(size_t, size_t);
|
||||
void free(void *);
|
||||
|
||||
typedef struct cpu_set_t { unsigned long __bits[128/sizeof(long)]; } cpu_set_t;
|
||||
cpu_set_t* __sched_cpualloc(size_t __count);
|
||||
int __sched_cpucount(size_t, const cpu_set_t *);
|
||||
int sched_getcpu(void);
|
||||
int sched_getaffinity(pid_t, size_t, cpu_set_t *);
|
||||
int sched_setaffinity(pid_t, size_t, const cpu_set_t *);
|
||||
|
||||
#define __CPU_op_S(i, size, set, op) ( (i)/8U >= (size) ? 0 : \
|
||||
(((unsigned long *)(set))[(i)/8/sizeof(long)] op (1UL<<((i)%(8*sizeof(long))))) )
|
||||
|
||||
#define CPU_SET_S(i, size, set) __CPU_op_S(i, size, set, |=)
|
||||
#define CPU_CLR_S(i, size, set) __CPU_op_S(i, size, set, &=~)
|
||||
#define CPU_ISSET_S(i, size, set) __CPU_op_S(i, size, set, &)
|
||||
|
||||
#define __CPU_op_func_S(func, op) \
|
||||
static __inline void __CPU_##func##_S(size_t __size, cpu_set_t *__dest, \
|
||||
const cpu_set_t *__src1, const cpu_set_t *__src2) \
|
||||
{ \
|
||||
size_t __i; \
|
||||
for (__i=0; __i<__size/sizeof(long); __i++) \
|
||||
((unsigned long *)__dest)[__i] = ((unsigned long *)__src1)[__i] \
|
||||
op ((unsigned long *)__src2)[__i] ; \
|
||||
}
|
||||
|
||||
__CPU_op_func_S(AND, &)
|
||||
__CPU_op_func_S(OR, |)
|
||||
__CPU_op_func_S(XOR, ^)
|
||||
|
||||
#define CPU_AND_S(a,b,c,d) __CPU_AND_S(a,b,c,d)
|
||||
#define CPU_OR_S(a,b,c,d) __CPU_OR_S(a,b,c,d)
|
||||
#define CPU_XOR_S(a,b,c,d) __CPU_XOR_S(a,b,c,d)
|
||||
|
||||
#define CPU_COUNT_S(size,set) __sched_cpucount(size,set)
|
||||
#define CPU_ZERO_S(size,set) memset(set,0,size)
|
||||
#define CPU_EQUAL_S(size,set1,set2) (!memcmp(set1,set2,size))
|
||||
|
||||
#define CPU_ALLOC_SIZE(n) (sizeof(long) * ( (n)/(8*sizeof(long)) \
|
||||
+ ((n)%(8*sizeof(long)) + 8*sizeof(long)-1)/(8*sizeof(long)) ) )
|
||||
#define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n)))
|
||||
#define CPU_FREE(set) free(set)
|
||||
|
||||
#define CPU_SETSIZE 128
|
||||
|
||||
#define CPU_SET(i, set) CPU_SET_S(i,sizeof(cpu_set_t),set)
|
||||
#define CPU_CLR(i, set) CPU_CLR_S(i,sizeof(cpu_set_t),set)
|
||||
#define CPU_ISSET(i, set) CPU_ISSET_S(i,sizeof(cpu_set_t),set)
|
||||
#define CPU_AND(d,s1,s2) CPU_AND_S(sizeof(cpu_set_t),d,s1,s2)
|
||||
#define CPU_OR(d,s1,s2) CPU_OR_S(sizeof(cpu_set_t),d,s1,s2)
|
||||
#define CPU_XOR(d,s1,s2) CPU_XOR_S(sizeof(cpu_set_t),d,s1,s2)
|
||||
#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t),set)
|
||||
#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t),set)
|
||||
#define CPU_EQUAL(s1,s2) CPU_EQUAL_S(sizeof(cpu_set_t),s1,s2)
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#if _REDIR_TIME64
|
||||
__REDIR(sched_rr_get_interval, __sched_rr_get_interval_time64);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
150
third_party/musl/ndk_musl_include/scsi/scsi.h
vendored
Normal file
150
third_party/musl/ndk_musl_include/scsi/scsi.h
vendored
Normal file
@ -0,0 +1,150 @@
|
||||
#ifndef _SCSI_SCSI_H
|
||||
#define _SCSI_SCSI_H
|
||||
|
||||
#define TEST_UNIT_READY 0x00
|
||||
#define REZERO_UNIT 0x01
|
||||
#define REQUEST_SENSE 0x03
|
||||
#define FORMAT_UNIT 0x04
|
||||
#define READ_BLOCK_LIMITS 0x05
|
||||
#define REASSIGN_BLOCKS 0x07
|
||||
#define READ_6 0x08
|
||||
#define WRITE_6 0x0a
|
||||
#define SEEK_6 0x0b
|
||||
#define READ_REVERSE 0x0f
|
||||
#define WRITE_FILEMARKS 0x10
|
||||
#define SPACE 0x11
|
||||
#define INQUIRY 0x12
|
||||
#define RECOVER_BUFFERED_DATA 0x14
|
||||
#define MODE_SELECT 0x15
|
||||
#define RESERVE 0x16
|
||||
#define RELEASE 0x17
|
||||
#define COPY 0x18
|
||||
#define ERASE 0x19
|
||||
#define MODE_SENSE 0x1a
|
||||
#define START_STOP 0x1b
|
||||
#define RECEIVE_DIAGNOSTIC 0x1c
|
||||
#define SEND_DIAGNOSTIC 0x1d
|
||||
#define ALLOW_MEDIUM_REMOVAL 0x1e
|
||||
#define SET_WINDOW 0x24
|
||||
#define READ_CAPACITY 0x25
|
||||
#define READ_10 0x28
|
||||
#define WRITE_10 0x2a
|
||||
#define SEEK_10 0x2b
|
||||
#define WRITE_VERIFY 0x2e
|
||||
#define VERIFY 0x2f
|
||||
#define SEARCH_HIGH 0x30
|
||||
#define SEARCH_EQUAL 0x31
|
||||
#define SEARCH_LOW 0x32
|
||||
#define SET_LIMITS 0x33
|
||||
#define PRE_FETCH 0x34
|
||||
#define READ_POSITION 0x34
|
||||
#define SYNCHRONIZE_CACHE 0x35
|
||||
#define LOCK_UNLOCK_CACHE 0x36
|
||||
#define READ_DEFECT_DATA 0x37
|
||||
#define MEDIUM_SCAN 0x38
|
||||
#define COMPARE 0x39
|
||||
#define COPY_VERIFY 0x3a
|
||||
#define WRITE_BUFFER 0x3b
|
||||
#define READ_BUFFER 0x3c
|
||||
#define UPDATE_BLOCK 0x3d
|
||||
#define READ_LONG 0x3e
|
||||
#define WRITE_LONG 0x3f
|
||||
#define CHANGE_DEFINITION 0x40
|
||||
#define WRITE_SAME 0x41
|
||||
#define READ_TOC 0x43
|
||||
#define LOG_SELECT 0x4c
|
||||
#define LOG_SENSE 0x4d
|
||||
#define MODE_SELECT_10 0x55
|
||||
#define RESERVE_10 0x56
|
||||
#define RELEASE_10 0x57
|
||||
#define MODE_SENSE_10 0x5a
|
||||
#define PERSISTENT_RESERVE_IN 0x5e
|
||||
#define PERSISTENT_RESERVE_OUT 0x5f
|
||||
#define MOVE_MEDIUM 0xa5
|
||||
#define READ_12 0xa8
|
||||
#define WRITE_12 0xaa
|
||||
#define WRITE_VERIFY_12 0xae
|
||||
#define SEARCH_HIGH_12 0xb0
|
||||
#define SEARCH_EQUAL_12 0xb1
|
||||
#define SEARCH_LOW_12 0xb2
|
||||
#define READ_ELEMENT_STATUS 0xb8
|
||||
#define SEND_VOLUME_TAG 0xb6
|
||||
#define WRITE_LONG_2 0xea
|
||||
#define GOOD 0x00
|
||||
#define CHECK_CONDITION 0x01
|
||||
#define CONDITION_GOOD 0x02
|
||||
#define BUSY 0x04
|
||||
#define INTERMEDIATE_GOOD 0x08
|
||||
#define INTERMEDIATE_C_GOOD 0x0a
|
||||
#define RESERVATION_CONFLICT 0x0c
|
||||
#define COMMAND_TERMINATED 0x11
|
||||
#define QUEUE_FULL 0x14
|
||||
#define STATUS_MASK 0x3e
|
||||
#define NO_SENSE 0x00
|
||||
#define RECOVERED_ERROR 0x01
|
||||
#define NOT_READY 0x02
|
||||
#define MEDIUM_ERROR 0x03
|
||||
#define HARDWARE_ERROR 0x04
|
||||
#define ILLEGAL_REQUEST 0x05
|
||||
#define UNIT_ATTENTION 0x06
|
||||
#define DATA_PROTECT 0x07
|
||||
#define BLANK_CHECK 0x08
|
||||
#define COPY_ABORTED 0x0a
|
||||
#define ABORTED_COMMAND 0x0b
|
||||
#define VOLUME_OVERFLOW 0x0d
|
||||
#define MISCOMPARE 0x0e
|
||||
#define TYPE_DISK 0x00
|
||||
#define TYPE_TAPE 0x01
|
||||
#define TYPE_PROCESSOR 0x03
|
||||
#define TYPE_WORM 0x04
|
||||
#define TYPE_ROM 0x05
|
||||
#define TYPE_SCANNER 0x06
|
||||
#define TYPE_MOD 0x07
|
||||
#define TYPE_MEDIUM_CHANGER 0x08
|
||||
#define TYPE_ENCLOSURE 0x0d
|
||||
#define TYPE_NO_LUN 0x7f
|
||||
#define COMMAND_COMPLETE 0x00
|
||||
#define EXTENDED_MESSAGE 0x01
|
||||
#define EXTENDED_MODIFY_DATA_POINTER 0x00
|
||||
#define EXTENDED_SDTR 0x01
|
||||
#define EXTENDED_EXTENDED_IDENTIFY 0x02
|
||||
#define EXTENDED_WDTR 0x03
|
||||
#define SAVE_POINTERS 0x02
|
||||
#define RESTORE_POINTERS 0x03
|
||||
#define DISCONNECT 0x04
|
||||
#define INITIATOR_ERROR 0x05
|
||||
#define ABORT 0x06
|
||||
#define MESSAGE_REJECT 0x07
|
||||
#define NOP 0x08
|
||||
#define MSG_PARITY_ERROR 0x09
|
||||
#define LINKED_CMD_COMPLETE 0x0a
|
||||
#define LINKED_FLG_CMD_COMPLETE 0x0b
|
||||
#define BUS_DEVICE_RESET 0x0c
|
||||
#define INITIATE_RECOVERY 0x0f
|
||||
#define RELEASE_RECOVERY 0x10
|
||||
#define SIMPLE_QUEUE_TAG 0x20
|
||||
#define HEAD_OF_QUEUE_TAG 0x21
|
||||
#define ORDERED_QUEUE_TAG 0x22
|
||||
#define SCSI_IOCTL_GET_IDLUN 0x5382
|
||||
#define SCSI_IOCTL_TAGGED_ENABLE 0x5383
|
||||
#define SCSI_IOCTL_TAGGED_DISABLE 0x5384
|
||||
#define SCSI_IOCTL_PROBE_HOST 0x5385
|
||||
#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386
|
||||
|
||||
struct ccs_modesel_head {
|
||||
unsigned char _r1;
|
||||
unsigned char medium;
|
||||
unsigned char _r2;
|
||||
unsigned char block_desc_length;
|
||||
unsigned char density;
|
||||
unsigned char number_blocks_hi;
|
||||
unsigned char number_blocks_med;
|
||||
unsigned char number_blocks_lo;
|
||||
unsigned char _r3;
|
||||
unsigned char block_length_hi;
|
||||
unsigned char block_length_med;
|
||||
unsigned char block_length_lo;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
11
third_party/musl/ndk_musl_include/scsi/scsi_ioctl.h
vendored
Normal file
11
third_party/musl/ndk_musl_include/scsi/scsi_ioctl.h
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
#ifndef _SCSI_IOCTL_H
|
||||
#define _SCSI_IOCTL_H
|
||||
#define SCSI_IOCTL_SEND_COMMAND 1
|
||||
#define SCSI_IOCTL_TEST_UNIT_READY 2
|
||||
#define SCSI_IOCTL_BENCHMARK_COMMAND 3
|
||||
#define SCSI_IOCTL_SYNC 4
|
||||
#define SCSI_IOCTL_START_UNIT 5
|
||||
#define SCSI_IOCTL_STOP_UNIT 6
|
||||
#define SCSI_IOCTL_DOORLOCK 0x5380
|
||||
#define SCSI_IOCTL_DOORUNLOCK 0x5381
|
||||
#endif
|
129
third_party/musl/ndk_musl_include/scsi/sg.h
vendored
Normal file
129
third_party/musl/ndk_musl_include/scsi/sg.h
vendored
Normal file
@ -0,0 +1,129 @@
|
||||
#ifndef _SCSI_SG_H
|
||||
#define _SCSI_SG_H
|
||||
|
||||
#define SG_DXFER_NONE -1
|
||||
#define SG_DXFER_TO_DEV -2
|
||||
#define SG_DXFER_FROM_DEV -3
|
||||
#define SG_DXFER_TO_FROM_DEV -4
|
||||
#define SG_FLAG_DIRECT_IO 1
|
||||
#define SG_FLAG_LUN_INHIBIT 2
|
||||
#define SG_FLAG_NO_DXFER 0x10000
|
||||
#define SG_INFO_OK_MASK 0x1
|
||||
#define SG_INFO_OK 0x0
|
||||
#define SG_INFO_CHECK 0x1
|
||||
#define SG_INFO_DIRECT_IO_MASK 0x6
|
||||
#define SG_INFO_INDIRECT_IO 0x0
|
||||
#define SG_INFO_DIRECT_IO 0x2
|
||||
#define SG_INFO_MIXED_IO 0x4
|
||||
#define SG_EMULATED_HOST 0x2203
|
||||
#define SG_SET_TRANSFORM 0x2204
|
||||
#define SG_GET_TRANSFORM 0x2205
|
||||
#define SG_SET_RESERVED_SIZE 0x2275
|
||||
#define SG_GET_RESERVED_SIZE 0x2272
|
||||
#define SG_GET_SCSI_ID 0x2276
|
||||
#define SG_SET_FORCE_LOW_DMA 0x2279
|
||||
#define SG_GET_LOW_DMA 0x227a
|
||||
#define SG_SET_FORCE_PACK_ID 0x227b
|
||||
#define SG_GET_PACK_ID 0x227c
|
||||
#define SG_GET_NUM_WAITING 0x227d
|
||||
#define SG_GET_SG_TABLESIZE 0x227F
|
||||
#define SG_GET_VERSION_NUM 0x2282
|
||||
#define SG_SCSI_RESET 0x2284
|
||||
#define SG_SCSI_RESET_NOTHING 0
|
||||
#define SG_SCSI_RESET_DEVICE 1
|
||||
#define SG_SCSI_RESET_BUS 2
|
||||
#define SG_SCSI_RESET_HOST 3
|
||||
#define SG_IO 0x2285
|
||||
#define SG_GET_REQUEST_TABLE 0x2286
|
||||
#define SG_SET_KEEP_ORPHAN 0x2287
|
||||
#define SG_GET_KEEP_ORPHAN 0x2288
|
||||
#define SG_SCATTER_SZ (8 * 4096)
|
||||
#define SG_DEFAULT_RETRIES 1
|
||||
#define SG_DEF_FORCE_LOW_DMA 0
|
||||
#define SG_DEF_FORCE_PACK_ID 0
|
||||
#define SG_DEF_KEEP_ORPHAN 0
|
||||
#define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ
|
||||
#define SG_MAX_QUEUE 16
|
||||
#define SG_BIG_BUFF SG_DEF_RESERVED_SIZE
|
||||
#define SG_MAX_SENSE 16
|
||||
#define SG_SET_TIMEOUT 0x2201
|
||||
#define SG_GET_TIMEOUT 0x2202
|
||||
#define SG_GET_COMMAND_Q 0x2270
|
||||
#define SG_SET_COMMAND_Q 0x2271
|
||||
#define SG_SET_DEBUG 0x227e
|
||||
#define SG_NEXT_CMD_LEN 0x2283
|
||||
#define SG_DEFAULT_TIMEOUT (60*100) /* 60*HZ */
|
||||
#define SG_DEF_COMMAND_Q 0
|
||||
#define SG_DEF_UNDERRUN_FLAG 0
|
||||
|
||||
typedef struct sg_iovec {
|
||||
void *iov_base;
|
||||
unsigned long iov_len;
|
||||
} sg_iovec_t;
|
||||
|
||||
typedef struct sg_io_hdr {
|
||||
int interface_id;
|
||||
int dxfer_direction;
|
||||
unsigned char cmd_len;
|
||||
unsigned char mx_sb_len;
|
||||
unsigned short iovec_count;
|
||||
unsigned dxfer_len;
|
||||
void *dxferp;
|
||||
unsigned char *cmdp;
|
||||
unsigned char *sbp;
|
||||
unsigned timeout;
|
||||
unsigned flags;
|
||||
int pack_id;
|
||||
void *usr_ptr;
|
||||
unsigned char status;
|
||||
unsigned char masked_status;
|
||||
unsigned char msg_status;
|
||||
unsigned char sb_len_wr;
|
||||
unsigned short host_status;
|
||||
unsigned short driver_status;
|
||||
int resid;
|
||||
unsigned int duration;
|
||||
unsigned int info;
|
||||
} sg_io_hdr_t;
|
||||
|
||||
struct sg_scsi_id {
|
||||
int host_no;
|
||||
int channel;
|
||||
int scsi_id;
|
||||
int lun;
|
||||
int scsi_type;
|
||||
short h_cmd_per_lun;
|
||||
short d_queue_depth;
|
||||
int unused[2];
|
||||
};
|
||||
|
||||
typedef struct sg_req_info {
|
||||
char req_state;
|
||||
char orphan;
|
||||
char sg_io_owned;
|
||||
char problem;
|
||||
int pack_id;
|
||||
void *usr_ptr;
|
||||
unsigned duration;
|
||||
int unused;
|
||||
} sg_req_info_t;
|
||||
|
||||
typedef struct sg_io_hdr Sg_io_hdr;
|
||||
typedef struct sg_io_vec Sg_io_vec;
|
||||
typedef struct sg_scsi_id Sg_scsi_id;
|
||||
typedef struct sg_req_info Sg_req_info;
|
||||
|
||||
struct sg_header {
|
||||
int pack_len;
|
||||
int reply_len;
|
||||
int pack_id;
|
||||
int result;
|
||||
unsigned twelve_byte:1;
|
||||
unsigned target_status:5;
|
||||
unsigned host_status:8;
|
||||
unsigned driver_status:8;
|
||||
unsigned other_flags:10;
|
||||
unsigned char sense_buffer[SG_MAX_SENSE];
|
||||
};
|
||||
|
||||
#endif
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user