106f6ba60Sopenharmony_ciCopyright (c) 2024 Huawei Device Co., Ltd. All rights reserved. 206f6ba60Sopenharmony_ci 306f6ba60Sopenharmony_ciBecause of hiebpf.bpf.c,bpf_log_write.h,fstrace_progs.h,hiebpf_types.h is run at kernel mode, other files 406f6ba60Sopenharmony_ciunder hiebpf subdirectories is run at user mode, so other files under hiebpf subdirectories use Apache License. 506f6ba60Sopenharmony_ciThe hiebpf.bpf.c,bpf_log_write.h,fstrace_progs.h,hiebpf_types.h is dual licensed: you can use it 606f6ba60Sopenharmony_cieither under the terms of the GPL V2, or the 3-Clause BSD license, at your option. 706f6ba60Sopenharmony_ci 806f6ba60Sopenharmony_cihiebpf is dual licensed: you can use it either under the terms of 906f6ba60Sopenharmony_cithe GPL V2, or the BSD3 license, at your option. 1006f6ba60Sopenharmony_ci 1106f6ba60Sopenharmony_ci 1206f6ba60Sopenharmony_ci Apache License 1306f6ba60Sopenharmony_ci Version 2.0, January 2004 1406f6ba60Sopenharmony_ci http://www.apache.org/licenses/ 1506f6ba60Sopenharmony_ci 1606f6ba60Sopenharmony_ci TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1706f6ba60Sopenharmony_ci 1806f6ba60Sopenharmony_ci 1. Definitions. 1906f6ba60Sopenharmony_ci 2006f6ba60Sopenharmony_ci "License" shall mean the terms and conditions for use, reproduction, 2106f6ba60Sopenharmony_ci and distribution as defined by Sections 1 through 9 of this document. 2206f6ba60Sopenharmony_ci 2306f6ba60Sopenharmony_ci "Licensor" shall mean the copyright owner or entity authorized by 2406f6ba60Sopenharmony_ci the copyright owner that is granting the License. 2506f6ba60Sopenharmony_ci 2606f6ba60Sopenharmony_ci "Legal Entity" shall mean the union of the acting entity and all 2706f6ba60Sopenharmony_ci other entities that control, are controlled by, or are under common 2806f6ba60Sopenharmony_ci control with that entity. For the purposes of this definition, 2906f6ba60Sopenharmony_ci "control" means (i) the power, direct or indirect, to cause the 3006f6ba60Sopenharmony_ci direction or management of such entity, whether by contract or 3106f6ba60Sopenharmony_ci otherwise, or (ii) ownership of fifty percent (50%) or more of the 3206f6ba60Sopenharmony_ci outstanding shares, or (iii) beneficial ownership of such entity. 3306f6ba60Sopenharmony_ci 3406f6ba60Sopenharmony_ci "You" (or "Your") shall mean an individual or Legal Entity 3506f6ba60Sopenharmony_ci exercising permissions granted by this License. 3606f6ba60Sopenharmony_ci 3706f6ba60Sopenharmony_ci "Source" form shall mean the preferred form for making modifications, 3806f6ba60Sopenharmony_ci including but not limited to software source code, documentation 3906f6ba60Sopenharmony_ci source, and configuration files. 4006f6ba60Sopenharmony_ci 4106f6ba60Sopenharmony_ci "Object" form shall mean any form resulting from mechanical 4206f6ba60Sopenharmony_ci transformation or translation of a Source form, including but 4306f6ba60Sopenharmony_ci not limited to compiled object code, generated documentation, 4406f6ba60Sopenharmony_ci and conversions to other media types. 4506f6ba60Sopenharmony_ci 4606f6ba60Sopenharmony_ci "Work" shall mean the work of authorship, whether in Source or 4706f6ba60Sopenharmony_ci Object form, made available under the License, as indicated by a 4806f6ba60Sopenharmony_ci copyright notice that is included in or attached to the work 4906f6ba60Sopenharmony_ci (an example is provided in the Appendix below). 5006f6ba60Sopenharmony_ci 5106f6ba60Sopenharmony_ci "Derivative Works" shall mean any work, whether in Source or Object 5206f6ba60Sopenharmony_ci form, that is based on (or derived from) the Work and for which the 5306f6ba60Sopenharmony_ci editorial revisions, annotations, elaborations, or other modifications 5406f6ba60Sopenharmony_ci represent, as a whole, an original work of authorship. For the purposes 5506f6ba60Sopenharmony_ci of this License, Derivative Works shall not include works that remain 5606f6ba60Sopenharmony_ci separable from, or merely link (or bind by name) to the interfaces of, 5706f6ba60Sopenharmony_ci the Work and Derivative Works thereof. 5806f6ba60Sopenharmony_ci 5906f6ba60Sopenharmony_ci "Contribution" shall mean any work of authorship, including 6006f6ba60Sopenharmony_ci the original version of the Work and any modifications or additions 6106f6ba60Sopenharmony_ci to that Work or Derivative Works thereof, that is intentionally 6206f6ba60Sopenharmony_ci submitted to Licensor for inclusion in the Work by the copyright owner 6306f6ba60Sopenharmony_ci or by an individual or Legal Entity authorized to submit on behalf of 6406f6ba60Sopenharmony_ci the copyright owner. For the purposes of this definition, "submitted" 6506f6ba60Sopenharmony_ci means any form of electronic, verbal, or written communication sent 6606f6ba60Sopenharmony_ci to the Licensor or its representatives, including but not limited to 6706f6ba60Sopenharmony_ci communication on electronic mailing lists, source code control systems, 6806f6ba60Sopenharmony_ci and issue tracking systems that are managed by, or on behalf of, the 6906f6ba60Sopenharmony_ci Licensor for the purpose of discussing and improving the Work, but 7006f6ba60Sopenharmony_ci excluding communication that is conspicuously marked or otherwise 7106f6ba60Sopenharmony_ci designated in writing by the copyright owner as "Not a Contribution." 7206f6ba60Sopenharmony_ci 7306f6ba60Sopenharmony_ci "Contributor" shall mean Licensor and any individual or Legal Entity 7406f6ba60Sopenharmony_ci on behalf of whom a Contribution has been received by Licensor and 7506f6ba60Sopenharmony_ci subsequently incorporated within the Work. 7606f6ba60Sopenharmony_ci 7706f6ba60Sopenharmony_ci 2. Grant of Copyright License. Subject to the terms and conditions of 7806f6ba60Sopenharmony_ci this License, each Contributor hereby grants to You a perpetual, 7906f6ba60Sopenharmony_ci worldwide, non-exclusive, no-charge, royalty-free, irrevocable 8006f6ba60Sopenharmony_ci copyright license to reproduce, prepare Derivative Works of, 8106f6ba60Sopenharmony_ci publicly display, publicly perform, sublicense, and distribute the 8206f6ba60Sopenharmony_ci Work and such Derivative Works in Source or Object form. 8306f6ba60Sopenharmony_ci 8406f6ba60Sopenharmony_ci 3. Grant of Patent License. Subject to the terms and conditions of 8506f6ba60Sopenharmony_ci this License, each Contributor hereby grants to You a perpetual, 8606f6ba60Sopenharmony_ci worldwide, non-exclusive, no-charge, royalty-free, irrevocable 8706f6ba60Sopenharmony_ci (except as stated in this section) patent license to make, have made, 8806f6ba60Sopenharmony_ci use, offer to sell, sell, import, and otherwise transfer the Work, 8906f6ba60Sopenharmony_ci where such license applies only to those patent claims licensable 9006f6ba60Sopenharmony_ci by such Contributor that are necessarily infringed by their 9106f6ba60Sopenharmony_ci Contribution(s) alone or by combination of their Contribution(s) 9206f6ba60Sopenharmony_ci with the Work to which such Contribution(s) was submitted. If You 9306f6ba60Sopenharmony_ci institute patent litigation against any entity (including a 9406f6ba60Sopenharmony_ci cross-claim or counterclaim in a lawsuit) alleging that the Work 9506f6ba60Sopenharmony_ci or a Contribution incorporated within the Work constitutes direct 9606f6ba60Sopenharmony_ci or contributory patent infringement, then any patent licenses 9706f6ba60Sopenharmony_ci granted to You under this License for that Work shall terminate 9806f6ba60Sopenharmony_ci as of the date such litigation is filed. 9906f6ba60Sopenharmony_ci 10006f6ba60Sopenharmony_ci 4. Redistribution. You may reproduce and distribute copies of the 10106f6ba60Sopenharmony_ci Work or Derivative Works thereof in any medium, with or without 10206f6ba60Sopenharmony_ci modifications, and in Source or Object form, provided that You 10306f6ba60Sopenharmony_ci meet the following conditions: 10406f6ba60Sopenharmony_ci 10506f6ba60Sopenharmony_ci (a) You must give any other recipients of the Work or 10606f6ba60Sopenharmony_ci Derivative Works a copy of this License; and 10706f6ba60Sopenharmony_ci 10806f6ba60Sopenharmony_ci (b) You must cause any modified files to carry prominent notices 10906f6ba60Sopenharmony_ci stating that You changed the files; and 11006f6ba60Sopenharmony_ci 11106f6ba60Sopenharmony_ci (c) You must retain, in the Source form of any Derivative Works 11206f6ba60Sopenharmony_ci that You distribute, all copyright, patent, trademark, and 11306f6ba60Sopenharmony_ci attribution notices from the Source form of the Work, 11406f6ba60Sopenharmony_ci excluding those notices that do not pertain to any part of 11506f6ba60Sopenharmony_ci the Derivative Works; and 11606f6ba60Sopenharmony_ci 11706f6ba60Sopenharmony_ci (d) If the Work includes a "NOTICE" text file as part of its 11806f6ba60Sopenharmony_ci distribution, then any Derivative Works that You distribute must 11906f6ba60Sopenharmony_ci include a readable copy of the attribution notices contained 12006f6ba60Sopenharmony_ci within such NOTICE file, excluding those notices that do not 12106f6ba60Sopenharmony_ci pertain to any part of the Derivative Works, in at least one 12206f6ba60Sopenharmony_ci of the following places: within a NOTICE text file distributed 12306f6ba60Sopenharmony_ci as part of the Derivative Works; within the Source form or 12406f6ba60Sopenharmony_ci documentation, if provided along with the Derivative Works; or, 12506f6ba60Sopenharmony_ci within a display generated by the Derivative Works, if and 12606f6ba60Sopenharmony_ci wherever such third-party notices normally appear. The contents 12706f6ba60Sopenharmony_ci of the NOTICE file are for informational purposes only and 12806f6ba60Sopenharmony_ci do not modify the License. You may add Your own attribution 12906f6ba60Sopenharmony_ci notices within Derivative Works that You distribute, alongside 13006f6ba60Sopenharmony_ci or as an addendum to the NOTICE text from the Work, provided 13106f6ba60Sopenharmony_ci that such additional attribution notices cannot be construed 13206f6ba60Sopenharmony_ci as modifying the License. 13306f6ba60Sopenharmony_ci 13406f6ba60Sopenharmony_ci You may add Your own copyright statement to Your modifications and 13506f6ba60Sopenharmony_ci may provide additional or different license terms and conditions 13606f6ba60Sopenharmony_ci for use, reproduction, or distribution of Your modifications, or 13706f6ba60Sopenharmony_ci for any such Derivative Works as a whole, provided Your use, 13806f6ba60Sopenharmony_ci reproduction, and distribution of the Work otherwise complies with 13906f6ba60Sopenharmony_ci the conditions stated in this License. 14006f6ba60Sopenharmony_ci 14106f6ba60Sopenharmony_ci 5. Submission of Contributions. Unless You explicitly state otherwise, 14206f6ba60Sopenharmony_ci any Contribution intentionally submitted for inclusion in the Work 14306f6ba60Sopenharmony_ci by You to the Licensor shall be under the terms and conditions of 14406f6ba60Sopenharmony_ci this License, without any additional terms or conditions. 14506f6ba60Sopenharmony_ci Notwithstanding the above, nothing herein shall supersede or modify 14606f6ba60Sopenharmony_ci the terms of any separate license agreement you may have executed 14706f6ba60Sopenharmony_ci with Licensor regarding such Contributions. 14806f6ba60Sopenharmony_ci 14906f6ba60Sopenharmony_ci 6. Trademarks. This License does not grant permission to use the trade 15006f6ba60Sopenharmony_ci names, trademarks, service marks, or product names of the Licensor, 15106f6ba60Sopenharmony_ci except as required for reasonable and customary use in describing the 15206f6ba60Sopenharmony_ci origin of the Work and reproducing the content of the NOTICE file. 15306f6ba60Sopenharmony_ci 15406f6ba60Sopenharmony_ci 7. Disclaimer of Warranty. Unless required by applicable law or 15506f6ba60Sopenharmony_ci agreed to in writing, Licensor provides the Work (and each 15606f6ba60Sopenharmony_ci Contributor provides its Contributions) on an "AS IS" BASIS, 15706f6ba60Sopenharmony_ci WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 15806f6ba60Sopenharmony_ci implied, including, without limitation, any warranties or conditions 15906f6ba60Sopenharmony_ci of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 16006f6ba60Sopenharmony_ci PARTICULAR PURPOSE. You are solely responsible for determining the 16106f6ba60Sopenharmony_ci appropriateness of using or redistributing the Work and assume any 16206f6ba60Sopenharmony_ci risks associated with Your exercise of permissions under this License. 16306f6ba60Sopenharmony_ci 16406f6ba60Sopenharmony_ci 8. Limitation of Liability. In no event and under no legal theory, 16506f6ba60Sopenharmony_ci whether in tort (including negligence), contract, or otherwise, 16606f6ba60Sopenharmony_ci unless required by applicable law (such as deliberate and grossly 16706f6ba60Sopenharmony_ci negligent acts) or agreed to in writing, shall any Contributor be 16806f6ba60Sopenharmony_ci liable to You for damages, including any direct, indirect, special, 16906f6ba60Sopenharmony_ci incidental, or consequential damages of any character arising as a 17006f6ba60Sopenharmony_ci result of this License or out of the use or inability to use the 17106f6ba60Sopenharmony_ci Work (including but not limited to damages for loss of goodwill, 17206f6ba60Sopenharmony_ci work stoppage, computer failure or malfunction, or any and all 17306f6ba60Sopenharmony_ci other commercial damages or losses), even if such Contributor 17406f6ba60Sopenharmony_ci has been advised of the possibility of such damages. 17506f6ba60Sopenharmony_ci 17606f6ba60Sopenharmony_ci 9. Accepting Warranty or Additional Liability. While redistributing 17706f6ba60Sopenharmony_ci the Work or Derivative Works thereof, You may choose to offer, 17806f6ba60Sopenharmony_ci and charge a fee for, acceptance of support, warranty, indemnity, 17906f6ba60Sopenharmony_ci or other liability obligations and/or rights consistent with this 18006f6ba60Sopenharmony_ci License. However, in accepting such obligations, You may act only 18106f6ba60Sopenharmony_ci on Your own behalf and on Your sole responsibility, not on behalf 18206f6ba60Sopenharmony_ci of any other Contributor, and only if You agree to indemnify, 18306f6ba60Sopenharmony_ci defend, and hold each Contributor harmless for any liability 18406f6ba60Sopenharmony_ci incurred by, or claims asserted against, such Contributor by reason 18506f6ba60Sopenharmony_ci of your accepting any such warranty or additional liability. 18606f6ba60Sopenharmony_ci 18706f6ba60Sopenharmony_ci END OF TERMS AND CONDITIONS 18806f6ba60Sopenharmony_ci 189