├── .github └── workflows │ ├── c-cpp.yml │ ├── codeql-analysis.yml │ └── msbuild.yml ├── .gitignore ├── .gitmodules ├── .travis.yml ├── .whitesource ├── LICENSE ├── LICENSE.md ├── Make ├── VS.2017 │ └── openSeaChest_LogParser │ │ ├── openSeaChest_LogParser │ │ ├── openSeaChest_LogParser.sln │ │ ├── openSeaChest_LogParser.vcxproj │ │ └── openSeaChest_LogParser.vcxproj.filters │ │ └── openSeaChest_LogParser_FARM │ │ ├── openSeaChest_LogParser_FARM.vcxproj │ │ └── openSeaChest_LogParser_FARM.vcxproj.filters ├── VS.2019 │ └── openSeaChest_LogParser │ │ ├── openSeaChest_LogParser │ │ ├── openSeaChest_LogParser.sln │ │ ├── openSeaChest_LogParser.vcxproj │ │ └── openSeaChest_LogParser.vcxproj.filters │ │ └── openSeaChest_LogParser_FARM │ │ ├── openSeaChest_LogParser_FARM.vcxproj │ │ └── openSeaChest_LogParser_FARM.vcxproj.filters ├── VS.2022 │ └── openSeaChest_LogParser │ │ ├── openSeaChest_LogParser │ │ ├── openSeaChest_LogParser.sln │ │ ├── openSeaChest_LogParser.vcxproj │ │ └── openSeaChest_LogParser.vcxproj.filters │ │ └── openSeaChest_LogParser_FARM │ │ ├── openSeaChest_LogParser_FARM.vcxproj │ │ └── openSeaChest_LogParser_FARM.vcxproj.filters └── gcc │ └── Makefile ├── README.md ├── SECURITY.md ├── docs ├── FARM Specification.pdf ├── man │ └── man8 │ │ └── openSeaChest_LogParser.8 └── openSeaChest_LogParser.011.txt ├── example ├── OpenSeaChest_FARM_Log_Pull-Parser.sh ├── OpenSeaChest_LogParser_Readme.txt ├── OpenSeaChest_Logs_Readme.txt ├── fromPipe.csv ├── fromPipe.json ├── fromPipe.prom └── fromPipe.txt ├── src └── openSeaChest_LogParser.cpp └── utils ├── include ├── EULA.h ├── parser_print_util_options.h └── seachest_parser_util_options.h └── src ├── EULA.cpp ├── parser_print_util_options.cpp └── seachest_parser_util_options.cpp /.github/workflows/c-cpp.yml: -------------------------------------------------------------------------------- 1 | name: C/C++ CI 2 | 3 | on: 4 | push: 5 | branches: [ develop, master, release/* ] 6 | pull_request: 7 | branches: [ develop ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v2 16 | with: 17 | submodules: recursive 18 | 19 | - name: make 20 | run: | 21 | cd Make/gcc 22 | make farm && make clean_all && make release 23 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | name: "CodeQL" 7 | 8 | on: 9 | push: 10 | branches: [develop, master] 11 | pull_request: 12 | # The branches below must be a subset of the branches above 13 | branches: [develop] 14 | schedule: 15 | - cron: '0 12 * * 6' 16 | 17 | jobs: 18 | analyze: 19 | name: Analyze 20 | runs-on: ubuntu-latest 21 | 22 | strategy: 23 | fail-fast: false 24 | matrix: 25 | # Override automatic language detection by changing the below list 26 | # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] 27 | language: ['cpp'] 28 | # Learn more... 29 | # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection 30 | 31 | steps: 32 | - name: Checkout repository 33 | uses: actions/checkout@v2 34 | with: 35 | # We must fetch at least the immediate parents so that if this is 36 | # a pull request then we can checkout the head. 37 | fetch-depth: 2 38 | submodules: recursive 39 | 40 | # If this run was triggered by a pull request event, then checkout 41 | # the head of the pull request instead of the merge commit. 42 | - run: git checkout HEAD^2 43 | if: ${{ github.event_name == 'pull_request' }} 44 | 45 | # Initializes the CodeQL tools for scanning. 46 | - name: Initialize CodeQL 47 | uses: github/codeql-action/init@v2 48 | with: 49 | languages: ${{ matrix.language }} 50 | # If you wish to specify custom queries, you can do so here or in a config file. 51 | # By default, queries listed here will override any specified in a config file. 52 | # Prefix the list here with "+" to use these queries and those in the config file. 53 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 54 | 55 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 56 | # If this step fails, then you should remove it and run the build manually (see below) 57 | #- name: Autobuild 58 | # uses: github/codeql-action/autobuild@v2 59 | 60 | # ℹ️ Command-line programs to run using the OS shell. 61 | # 📚 https://git.io/JvXDl 62 | 63 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 64 | # and modify them (or add more) to build your code if your project 65 | # uses a compiled language 66 | 67 | - run: | 68 | cd Make/gcc 69 | make farm && make clean_all && make release 70 | 71 | - name: Perform CodeQL Analysis 72 | uses: github/codeql-action/analyze@v2 73 | -------------------------------------------------------------------------------- /.github/workflows/msbuild.yml: -------------------------------------------------------------------------------- 1 | name: MSBuild 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | - develop 8 | - release/* 9 | - feature/* 10 | - hotfix/* 11 | pull_request: 12 | branches: 13 | - develop 14 | 15 | env: 16 | # Path to the solution file relative to the root of the project. 17 | SOLUTION_FILE_PATH: Make/VS.2019/openSeaChest_LogParser/openSeaChest_LogParser 18 | 19 | # Configuration type to build. 20 | # You can convert this to a build matrix if you need coverage of multiple configuration types. 21 | # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix 22 | BUILD_CONFIGURATION: Static-Release 23 | 24 | jobs: 25 | build: 26 | runs-on: windows-latest 27 | strategy: 28 | matrix: 29 | platform: [ x64, x86 ] 30 | language: ['cpp'] 31 | 32 | steps: 33 | - uses: actions/checkout@v2 34 | with: 35 | submodules: recursive 36 | 37 | - name: Add MSBuild to PATH 38 | uses: microsoft/setup-msbuild@v1 39 | 40 | - name: Restore NuGet packages 41 | working-directory: ${{env.GITHUB_WORKSPACE}} 42 | run: nuget restore ${{env.SOLUTION_FILE_PATH}} 43 | 44 | # Initializes the CodeQL tools for scanning. 45 | - name: Initialize CodeQL 46 | uses: github/codeql-action/init@v2 47 | with: 48 | languages: ${{ matrix.language }} 49 | # If you wish to specify custom queries, you can do so here or in a config file. 50 | # By default, queries listed here will override any specified in a config file. 51 | # Prefix the list here with "+" to use these queries and those in the config file. 52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 53 | 54 | - name: Build 55 | working-directory: ${{env.GITHUB_WORKSPACE}} 56 | # Add additional options to the MSBuild command line here (like platform or verbosity level). 57 | # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference 58 | run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} /p:Platform=${{matrix.platform}} 59 | 60 | - name: Perform CodeQL Analysis 61 | uses: github/codeql-action/analyze@v2 62 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "libjson"] 2 | path = libjson 3 | url = ../libjson.git 4 | [submodule "opensea-common"] 5 | path = opensea-common 6 | url = ../opensea-common.git 7 | [submodule "opensea-parser"] 8 | path = opensea-parser 9 | url = ../opensea-parser.git 10 | 11 | [submodule "wingetopt"] 12 | path = wingetopt 13 | url = ../wingetopt.git 14 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # CI for openseaChest_LogParser through Travis CI 2 | language: cpp 3 | 4 | branches: 5 | only: 6 | - master 7 | - develop 8 | 9 | matrix: 10 | include: 11 | - os: osx 12 | compiler: clang 13 | before_script: 14 | cd Make/gcc 15 | script: 16 | make farm && make clean_all && make release 17 | - os: linux 18 | sudo: false 19 | compiler: clang 20 | dist: xenial 21 | before_script: 22 | cd Make/gcc 23 | script: 24 | make farm && make clean_all && make release 25 | - os: linux 26 | sudo: false 27 | compiler: gcc 28 | dist: xenial 29 | before_script: 30 | cd Make/gcc 31 | script: 32 | make farm && make clean_all && make release 33 | - os: windows 34 | env: 35 | - MSBUILD_PATH="c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" 36 | before_script: 37 | cd "Make\VS.2017\openSeaChest_LogParser\openSeaChest_LogParser" 38 | script: 39 | - export PATH=$MSBUILD_PATH:$PATH 40 | - MSBuild.exe //p:Configuration=Static-Release //p:Platform=x64 41 | 42 | -------------------------------------------------------------------------------- /.whitesource: -------------------------------------------------------------------------------- 1 | { 2 | "scanSettings": { 3 | "configMode": "AUTO", 4 | "configExternalURL": "", 5 | "projectToken": "", 6 | "baseBranches": [] 7 | }, 8 | "checkRunSettings": { 9 | "vulnerableCheckRunConclusionLevel": "failure", 10 | "displayMode": "diff" 11 | }, 12 | "issueSettings": { 13 | "minSeverityLevel": "LOW" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Mozilla Public License Version 2.0 2 | ================================== 3 | 4 | 1. Definitions 5 | -------------- 6 | 7 | 1.1. "Contributor" 8 | means each individual or legal entity that creates, contributes to 9 | the creation of, or owns Covered Software. 10 | 11 | 1.2. "Contributor Version" 12 | means the combination of the Contributions of others (if any) used 13 | by a Contributor and that particular Contributor's Contribution. 14 | 15 | 1.3. "Contribution" 16 | means Covered Software of a particular Contributor. 17 | 18 | 1.4. "Covered Software" 19 | means Source Code Form to which the initial Contributor has attached 20 | the notice in Exhibit A, the Executable Form of such Source Code 21 | Form, and Modifications of such Source Code Form, in each case 22 | including portions thereof. 23 | 24 | 1.5. "Incompatible With Secondary Licenses" 25 | means 26 | 27 | (a) that the initial Contributor has attached the notice described 28 | in Exhibit B to the Covered Software; or 29 | 30 | (b) that the Covered Software was made available under the terms of 31 | version 1.1 or earlier of the License, but not also under the 32 | terms of a Secondary License. 33 | 34 | 1.6. "Executable Form" 35 | means any form of the work other than Source Code Form. 36 | 37 | 1.7. "Larger Work" 38 | means a work that combines Covered Software with other material, in 39 | a separate file or files, that is not Covered Software. 40 | 41 | 1.8. "License" 42 | means this document. 43 | 44 | 1.9. "Licensable" 45 | means having the right to grant, to the maximum extent possible, 46 | whether at the time of the initial grant or subsequently, any and 47 | all of the rights conveyed by this License. 48 | 49 | 1.10. "Modifications" 50 | means any of the following: 51 | 52 | (a) any file in Source Code Form that results from an addition to, 53 | deletion from, or modification of the contents of Covered 54 | Software; or 55 | 56 | (b) any new file in Source Code Form that contains any Covered 57 | Software. 58 | 59 | 1.11. "Patent Claims" of a Contributor 60 | means any patent claim(s), including without limitation, method, 61 | process, and apparatus claims, in any patent Licensable by such 62 | Contributor that would be infringed, but for the grant of the 63 | License, by the making, using, selling, offering for sale, having 64 | made, import, or transfer of either its Contributions or its 65 | Contributor Version. 66 | 67 | 1.12. "Secondary License" 68 | means either the GNU General Public License, Version 2.0, the GNU 69 | Lesser General Public License, Version 2.1, the GNU Affero General 70 | Public License, Version 3.0, or any later versions of those 71 | licenses. 72 | 73 | 1.13. "Source Code Form" 74 | means the form of the work preferred for making modifications. 75 | 76 | 1.14. "You" (or "Your") 77 | means an individual or a legal entity exercising rights under this 78 | License. For legal entities, "You" includes any entity that 79 | controls, is controlled by, or is under common control with You. For 80 | purposes of this definition, "control" means (a) the power, direct 81 | or indirect, to cause the direction or management of such entity, 82 | whether by contract or otherwise, or (b) ownership of more than 83 | fifty percent (50%) of the outstanding shares or beneficial 84 | ownership of such entity. 85 | 86 | 2. License Grants and Conditions 87 | -------------------------------- 88 | 89 | 2.1. Grants 90 | 91 | Each Contributor hereby grants You a world-wide, royalty-free, 92 | non-exclusive license: 93 | 94 | (a) under intellectual property rights (other than patent or trademark) 95 | Licensable by such Contributor to use, reproduce, make available, 96 | modify, display, perform, distribute, and otherwise exploit its 97 | Contributions, either on an unmodified basis, with Modifications, or 98 | as part of a Larger Work; and 99 | 100 | (b) under Patent Claims of such Contributor to make, use, sell, offer 101 | for sale, have made, import, and otherwise transfer either its 102 | Contributions or its Contributor Version. 103 | 104 | 2.2. Effective Date 105 | 106 | The licenses granted in Section 2.1 with respect to any Contribution 107 | become effective for each Contribution on the date the Contributor first 108 | distributes such Contribution. 109 | 110 | 2.3. Limitations on Grant Scope 111 | 112 | The licenses granted in this Section 2 are the only rights granted under 113 | this License. No additional rights or licenses will be implied from the 114 | distribution or licensing of Covered Software under this License. 115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a 116 | Contributor: 117 | 118 | (a) for any code that a Contributor has removed from Covered Software; 119 | or 120 | 121 | (b) for infringements caused by: (i) Your and any other third party's 122 | modifications of Covered Software, or (ii) the combination of its 123 | Contributions with other software (except as part of its Contributor 124 | Version); or 125 | 126 | (c) under Patent Claims infringed by Covered Software in the absence of 127 | its Contributions. 128 | 129 | This License does not grant any rights in the trademarks, service marks, 130 | or logos of any Contributor (except as may be necessary to comply with 131 | the notice requirements in Section 3.4). 132 | 133 | 2.4. Subsequent Licenses 134 | 135 | No Contributor makes additional grants as a result of Your choice to 136 | distribute the Covered Software under a subsequent version of this 137 | License (see Section 10.2) or under the terms of a Secondary License (if 138 | permitted under the terms of Section 3.3). 139 | 140 | 2.5. Representation 141 | 142 | Each Contributor represents that the Contributor believes its 143 | Contributions are its original creation(s) or it has sufficient rights 144 | to grant the rights to its Contributions conveyed by this License. 145 | 146 | 2.6. Fair Use 147 | 148 | This License is not intended to limit any rights You have under 149 | applicable copyright doctrines of fair use, fair dealing, or other 150 | equivalents. 151 | 152 | 2.7. Conditions 153 | 154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 155 | in Section 2.1. 156 | 157 | 3. Responsibilities 158 | ------------------- 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under 164 | the terms of this License. You must inform recipients that the Source 165 | Code Form of the Covered Software is governed by the terms of this 166 | License, and how they can obtain a copy of this License. You may not 167 | attempt to alter or restrict the recipients' rights in the Source Code 168 | Form. 169 | 170 | 3.2. Distribution of Executable Form 171 | 172 | If You distribute Covered Software in Executable Form then: 173 | 174 | (a) such Covered Software must also be made available in Source Code 175 | Form, as described in Section 3.1, and You must inform recipients of 176 | the Executable Form how they can obtain a copy of such Source Code 177 | Form by reasonable means in a timely manner, at a charge no more 178 | than the cost of distribution to the recipient; and 179 | 180 | (b) You may distribute such Executable Form under the terms of this 181 | License, or sublicense it under different terms, provided that the 182 | license for the Executable Form does not attempt to limit or alter 183 | the recipients' rights in the Source Code Form under this License. 184 | 185 | 3.3. Distribution of a Larger Work 186 | 187 | You may create and distribute a Larger Work under terms of Your choice, 188 | provided that You also comply with the requirements of this License for 189 | the Covered Software. If the Larger Work is a combination of Covered 190 | Software with a work governed by one or more Secondary Licenses, and the 191 | Covered Software is not Incompatible With Secondary Licenses, this 192 | License permits You to additionally distribute such Covered Software 193 | under the terms of such Secondary License(s), so that the recipient of 194 | the Larger Work may, at their option, further distribute the Covered 195 | Software under the terms of either this License or such Secondary 196 | License(s). 197 | 198 | 3.4. Notices 199 | 200 | You may not remove or alter the substance of any license notices 201 | (including copyright notices, patent notices, disclaimers of warranty, 202 | or limitations of liability) contained within the Source Code Form of 203 | the Covered Software, except that You may alter any license notices to 204 | the extent required to remedy known factual inaccuracies. 205 | 206 | 3.5. Application of Additional Terms 207 | 208 | You may choose to offer, and to charge a fee for, warranty, support, 209 | indemnity or liability obligations to one or more recipients of Covered 210 | Software. However, You may do so only on Your own behalf, and not on 211 | behalf of any Contributor. You must make it absolutely clear that any 212 | such warranty, support, indemnity, or liability obligation is offered by 213 | You alone, and You hereby agree to indemnify every Contributor for any 214 | liability incurred by such Contributor as a result of warranty, support, 215 | indemnity or liability terms You offer. You may include additional 216 | disclaimers of warranty and limitations of liability specific to any 217 | jurisdiction. 218 | 219 | 4. Inability to Comply Due to Statute or Regulation 220 | --------------------------------------------------- 221 | 222 | If it is impossible for You to comply with any of the terms of this 223 | License with respect to some or all of the Covered Software due to 224 | statute, judicial order, or regulation then You must: (a) comply with 225 | the terms of this License to the maximum extent possible; and (b) 226 | describe the limitations and the code they affect. Such description must 227 | be placed in a text file included with all distributions of the Covered 228 | Software under this License. Except to the extent prohibited by statute 229 | or regulation, such description must be sufficiently detailed for a 230 | recipient of ordinary skill to be able to understand it. 231 | 232 | 5. Termination 233 | -------------- 234 | 235 | 5.1. The rights granted under this License will terminate automatically 236 | if You fail to comply with any of its terms. However, if You become 237 | compliant, then the rights granted under this License from a particular 238 | Contributor are reinstated (a) provisionally, unless and until such 239 | Contributor explicitly and finally terminates Your grants, and (b) on an 240 | ongoing basis, if such Contributor fails to notify You of the 241 | non-compliance by some reasonable means prior to 60 days after You have 242 | come back into compliance. Moreover, Your grants from a particular 243 | Contributor are reinstated on an ongoing basis if such Contributor 244 | notifies You of the non-compliance by some reasonable means, this is the 245 | first time You have received notice of non-compliance with this License 246 | from such Contributor, and You become compliant prior to 30 days after 247 | Your receipt of the notice. 248 | 249 | 5.2. If You initiate litigation against any entity by asserting a patent 250 | infringement claim (excluding declaratory judgment actions, 251 | counter-claims, and cross-claims) alleging that a Contributor Version 252 | directly or indirectly infringes any patent, then the rights granted to 253 | You by any and all Contributors for the Covered Software under Section 254 | 2.1 of this License shall terminate. 255 | 256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 257 | end user license agreements (excluding distributors and resellers) which 258 | have been validly granted by You or Your distributors under this License 259 | prior to termination shall survive termination. 260 | 261 | ************************************************************************ 262 | * * 263 | * 6. Disclaimer of Warranty * 264 | * ------------------------- * 265 | * * 266 | * Covered Software is provided under this License on an "as is" * 267 | * basis, without warranty of any kind, either expressed, implied, or * 268 | * statutory, including, without limitation, warranties that the * 269 | * Covered Software is free of defects, merchantable, fit for a * 270 | * particular purpose or non-infringing. The entire risk as to the * 271 | * quality and performance of the Covered Software is with You. * 272 | * Should any Covered Software prove defective in any respect, You * 273 | * (not any Contributor) assume the cost of any necessary servicing, * 274 | * repair, or correction. This disclaimer of warranty constitutes an * 275 | * essential part of this License. No use of any Covered Software is * 276 | * authorized under this License except under this disclaimer. * 277 | * * 278 | ************************************************************************ 279 | 280 | ************************************************************************ 281 | * * 282 | * 7. Limitation of Liability * 283 | * -------------------------- * 284 | * * 285 | * Under no circumstances and under no legal theory, whether tort * 286 | * (including negligence), contract, or otherwise, shall any * 287 | * Contributor, or anyone who distributes Covered Software as * 288 | * permitted above, be liable to You for any direct, indirect, * 289 | * special, incidental, or consequential damages of any character * 290 | * including, without limitation, damages for lost profits, loss of * 291 | * goodwill, work stoppage, computer failure or malfunction, or any * 292 | * and all other commercial damages or losses, even if such party * 293 | * shall have been informed of the possibility of such damages. This * 294 | * limitation of liability shall not apply to liability for death or * 295 | * personal injury resulting from such party's negligence to the * 296 | * extent applicable law prohibits such limitation. Some * 297 | * jurisdictions do not allow the exclusion or limitation of * 298 | * incidental or consequential damages, so this exclusion and * 299 | * limitation may not apply to You. * 300 | * * 301 | ************************************************************************ 302 | 303 | 8. Litigation 304 | ------------- 305 | 306 | Any litigation relating to this License may be brought only in the 307 | courts of a jurisdiction where the defendant maintains its principal 308 | place of business and such litigation shall be governed by laws of that 309 | jurisdiction, without reference to its conflict-of-law provisions. 310 | Nothing in this Section shall prevent a party's ability to bring 311 | cross-claims or counter-claims. 312 | 313 | 9. Miscellaneous 314 | ---------------- 315 | 316 | This License represents the complete agreement concerning the subject 317 | matter hereof. If any provision of this License is held to be 318 | unenforceable, such provision shall be reformed only to the extent 319 | necessary to make it enforceable. Any law or regulation which provides 320 | that the language of a contract shall be construed against the drafter 321 | shall not be used to construe this License against a Contributor. 322 | 323 | 10. Versions of the License 324 | --------------------------- 325 | 326 | 10.1. New Versions 327 | 328 | Mozilla Foundation is the license steward. Except as provided in Section 329 | 10.3, no one other than the license steward has the right to modify or 330 | publish new versions of this License. Each version will be given a 331 | distinguishing version number. 332 | 333 | 10.2. Effect of New Versions 334 | 335 | You may distribute the Covered Software under the terms of the version 336 | of the License under which You originally received the Covered Software, 337 | or under the terms of any subsequent version published by the license 338 | steward. 339 | 340 | 10.3. Modified Versions 341 | 342 | If you create software not governed by this License, and you want to 343 | create a new license for such software, you may create and use a 344 | modified version of this License if you rename the license and remove 345 | any references to the name of the license steward (except to note that 346 | such modified license differs from this License). 347 | 348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary 349 | Licenses 350 | 351 | If You choose to distribute Source Code Form that is Incompatible With 352 | Secondary Licenses under the terms of this version of the License, the 353 | notice described in Exhibit B of this License must be attached. 354 | 355 | Exhibit A - Source Code Form License Notice 356 | ------------------------------------------- 357 | 358 | This Source Code Form is subject to the terms of the Mozilla Public 359 | License, v. 2.0. If a copy of the MPL was not distributed with this 360 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 361 | 362 | If it is not possible or desirable to put the notice in a particular 363 | file, then You may include the notice in a location (such as a LICENSE 364 | file in a relevant directory) where a recipient would be likely to look 365 | for such a notice. 366 | 367 | You may add additional accurate notices of copyright ownership. 368 | 369 | Exhibit B - "Incompatible With Secondary Licenses" Notice 370 | --------------------------------------------------------- 371 | 372 | This Source Code Form is "Incompatible With Secondary Licenses", as 373 | defined by the Mozilla Public License, v. 2.0. 374 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Mozilla Public License Version 2.0 2 | ================================== 3 | 4 | ### 1. Definitions 5 | 6 | **1.1. “Contributor”** 7 | means each individual or legal entity that creates, contributes to 8 | the creation of, or owns Covered Software. 9 | 10 | **1.2. “Contributor Version”** 11 | means the combination of the Contributions of others (if any) used 12 | by a Contributor and that particular Contributor's Contribution. 13 | 14 | **1.3. “Contribution”** 15 | means Covered Software of a particular Contributor. 16 | 17 | **1.4. “Covered Software”** 18 | means Source Code Form to which the initial Contributor has attached 19 | the notice in Exhibit A, the Executable Form of such Source Code 20 | Form, and Modifications of such Source Code Form, in each case 21 | including portions thereof. 22 | 23 | **1.5. “Incompatible With Secondary Licenses”** 24 | means 25 | 26 | * **(a)** that the initial Contributor has attached the notice described 27 | in Exhibit B to the Covered Software; or 28 | * **(b)** that the Covered Software was made available under the terms of 29 | version 1.1 or earlier of the License, but not also under the 30 | terms of a Secondary License. 31 | 32 | **1.6. “Executable Form”** 33 | means any form of the work other than Source Code Form. 34 | 35 | **1.7. “Larger Work”** 36 | means a work that combines Covered Software with other material, in 37 | a separate file or files, that is not Covered Software. 38 | 39 | **1.8. “License”** 40 | means this document. 41 | 42 | **1.9. “Licensable”** 43 | means having the right to grant, to the maximum extent possible, 44 | whether at the time of the initial grant or subsequently, any and 45 | all of the rights conveyed by this License. 46 | 47 | **1.10. “Modifications”** 48 | means any of the following: 49 | 50 | * **(a)** any file in Source Code Form that results from an addition to, 51 | deletion from, or modification of the contents of Covered 52 | Software; or 53 | * **(b)** any new file in Source Code Form that contains any Covered 54 | Software. 55 | 56 | **1.11. “Patent Claims” of a Contributor** 57 | means any patent claim(s), including without limitation, method, 58 | process, and apparatus claims, in any patent Licensable by such 59 | Contributor that would be infringed, but for the grant of the 60 | License, by the making, using, selling, offering for sale, having 61 | made, import, or transfer of either its Contributions or its 62 | Contributor Version. 63 | 64 | **1.12. “Secondary License”** 65 | means either the GNU General Public License, Version 2.0, the GNU 66 | Lesser General Public License, Version 2.1, the GNU Affero General 67 | Public License, Version 3.0, or any later versions of those 68 | licenses. 69 | 70 | **1.13. “Source Code Form”** 71 | means the form of the work preferred for making modifications. 72 | 73 | **1.14. “You” (or “Your”)** 74 | means an individual or a legal entity exercising rights under this 75 | License. For legal entities, “You” includes any entity that 76 | controls, is controlled by, or is under common control with You. For 77 | purposes of this definition, “control” means **(a)** the power, direct 78 | or indirect, to cause the direction or management of such entity, 79 | whether by contract or otherwise, or **(b)** ownership of more than 80 | fifty percent (50%) of the outstanding shares or beneficial 81 | ownership of such entity. 82 | 83 | 84 | ### 2. License Grants and Conditions 85 | 86 | #### 2.1. Grants 87 | 88 | Each Contributor hereby grants You a world-wide, royalty-free, 89 | non-exclusive license: 90 | 91 | * **(a)** under intellectual property rights (other than patent or trademark) 92 | Licensable by such Contributor to use, reproduce, make available, 93 | modify, display, perform, distribute, and otherwise exploit its 94 | Contributions, either on an unmodified basis, with Modifications, or 95 | as part of a Larger Work; and 96 | * **(b)** under Patent Claims of such Contributor to make, use, sell, offer 97 | for sale, have made, import, and otherwise transfer either its 98 | Contributions or its Contributor Version. 99 | 100 | #### 2.2. Effective Date 101 | 102 | The licenses granted in Section 2.1 with respect to any Contribution 103 | become effective for each Contribution on the date the Contributor first 104 | distributes such Contribution. 105 | 106 | #### 2.3. Limitations on Grant Scope 107 | 108 | The licenses granted in this Section 2 are the only rights granted under 109 | this License. No additional rights or licenses will be implied from the 110 | distribution or licensing of Covered Software under this License. 111 | Notwithstanding Section 2.1(b) above, no patent license is granted by a 112 | Contributor: 113 | 114 | * **(a)** for any code that a Contributor has removed from Covered Software; 115 | or 116 | * **(b)** for infringements caused by: **(i)** Your and any other third party's 117 | modifications of Covered Software, or **(ii)** the combination of its 118 | Contributions with other software (except as part of its Contributor 119 | Version); or 120 | * **(c)** under Patent Claims infringed by Covered Software in the absence of 121 | its Contributions. 122 | 123 | This License does not grant any rights in the trademarks, service marks, 124 | or logos of any Contributor (except as may be necessary to comply with 125 | the notice requirements in Section 3.4). 126 | 127 | #### 2.4. Subsequent Licenses 128 | 129 | No Contributor makes additional grants as a result of Your choice to 130 | distribute the Covered Software under a subsequent version of this 131 | License (see Section 10.2) or under the terms of a Secondary License (if 132 | permitted under the terms of Section 3.3). 133 | 134 | #### 2.5. Representation 135 | 136 | Each Contributor represents that the Contributor believes its 137 | Contributions are its original creation(s) or it has sufficient rights 138 | to grant the rights to its Contributions conveyed by this License. 139 | 140 | #### 2.6. Fair Use 141 | 142 | This License is not intended to limit any rights You have under 143 | applicable copyright doctrines of fair use, fair dealing, or other 144 | equivalents. 145 | 146 | #### 2.7. Conditions 147 | 148 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 149 | in Section 2.1. 150 | 151 | 152 | ### 3. Responsibilities 153 | 154 | #### 3.1. Distribution of Source Form 155 | 156 | All distribution of Covered Software in Source Code Form, including any 157 | Modifications that You create or to which You contribute, must be under 158 | the terms of this License. You must inform recipients that the Source 159 | Code Form of the Covered Software is governed by the terms of this 160 | License, and how they can obtain a copy of this License. You may not 161 | attempt to alter or restrict the recipients' rights in the Source Code 162 | Form. 163 | 164 | #### 3.2. Distribution of Executable Form 165 | 166 | If You distribute Covered Software in Executable Form then: 167 | 168 | * **(a)** such Covered Software must also be made available in Source Code 169 | Form, as described in Section 3.1, and You must inform recipients of 170 | the Executable Form how they can obtain a copy of such Source Code 171 | Form by reasonable means in a timely manner, at a charge no more 172 | than the cost of distribution to the recipient; and 173 | 174 | * **(b)** You may distribute such Executable Form under the terms of this 175 | License, or sublicense it under different terms, provided that the 176 | license for the Executable Form does not attempt to limit or alter 177 | the recipients' rights in the Source Code Form under this License. 178 | 179 | #### 3.3. Distribution of a Larger Work 180 | 181 | You may create and distribute a Larger Work under terms of Your choice, 182 | provided that You also comply with the requirements of this License for 183 | the Covered Software. If the Larger Work is a combination of Covered 184 | Software with a work governed by one or more Secondary Licenses, and the 185 | Covered Software is not Incompatible With Secondary Licenses, this 186 | License permits You to additionally distribute such Covered Software 187 | under the terms of such Secondary License(s), so that the recipient of 188 | the Larger Work may, at their option, further distribute the Covered 189 | Software under the terms of either this License or such Secondary 190 | License(s). 191 | 192 | #### 3.4. Notices 193 | 194 | You may not remove or alter the substance of any license notices 195 | (including copyright notices, patent notices, disclaimers of warranty, 196 | or limitations of liability) contained within the Source Code Form of 197 | the Covered Software, except that You may alter any license notices to 198 | the extent required to remedy known factual inaccuracies. 199 | 200 | #### 3.5. Application of Additional Terms 201 | 202 | You may choose to offer, and to charge a fee for, warranty, support, 203 | indemnity or liability obligations to one or more recipients of Covered 204 | Software. However, You may do so only on Your own behalf, and not on 205 | behalf of any Contributor. You must make it absolutely clear that any 206 | such warranty, support, indemnity, or liability obligation is offered by 207 | You alone, and You hereby agree to indemnify every Contributor for any 208 | liability incurred by such Contributor as a result of warranty, support, 209 | indemnity or liability terms You offer. You may include additional 210 | disclaimers of warranty and limitations of liability specific to any 211 | jurisdiction. 212 | 213 | 214 | ### 4. Inability to Comply Due to Statute or Regulation 215 | 216 | If it is impossible for You to comply with any of the terms of this 217 | License with respect to some or all of the Covered Software due to 218 | statute, judicial order, or regulation then You must: **(a)** comply with 219 | the terms of this License to the maximum extent possible; and **(b)** 220 | describe the limitations and the code they affect. Such description must 221 | be placed in a text file included with all distributions of the Covered 222 | Software under this License. Except to the extent prohibited by statute 223 | or regulation, such description must be sufficiently detailed for a 224 | recipient of ordinary skill to be able to understand it. 225 | 226 | 227 | ### 5. Termination 228 | 229 | **5.1.** The rights granted under this License will terminate automatically 230 | if You fail to comply with any of its terms. However, if You become 231 | compliant, then the rights granted under this License from a particular 232 | Contributor are reinstated **(a)** provisionally, unless and until such 233 | Contributor explicitly and finally terminates Your grants, and **(b)** on an 234 | ongoing basis, if such Contributor fails to notify You of the 235 | non-compliance by some reasonable means prior to 60 days after You have 236 | come back into compliance. Moreover, Your grants from a particular 237 | Contributor are reinstated on an ongoing basis if such Contributor 238 | notifies You of the non-compliance by some reasonable means, this is the 239 | first time You have received notice of non-compliance with this License 240 | from such Contributor, and You become compliant prior to 30 days after 241 | Your receipt of the notice. 242 | 243 | **5.2.** If You initiate litigation against any entity by asserting a patent 244 | infringement claim (excluding declaratory judgment actions, 245 | counter-claims, and cross-claims) alleging that a Contributor Version 246 | directly or indirectly infringes any patent, then the rights granted to 247 | You by any and all Contributors for the Covered Software under Section 248 | 2.1 of this License shall terminate. 249 | 250 | **5.3.** In the event of termination under Sections 5.1 or 5.2 above, all 251 | end user license agreements (excluding distributors and resellers) which 252 | have been validly granted by You or Your distributors under this License 253 | prior to termination shall survive termination. 254 | 255 | 256 | ### 6. Disclaimer of Warranty 257 | 258 | > Covered Software is provided under this License on an “as is” 259 | > basis, without warranty of any kind, either expressed, implied, or 260 | > statutory, including, without limitation, warranties that the 261 | > Covered Software is free of defects, merchantable, fit for a 262 | > particular purpose or non-infringing. The entire risk as to the 263 | > quality and performance of the Covered Software is with You. 264 | > Should any Covered Software prove defective in any respect, You 265 | > (not any Contributor) assume the cost of any necessary servicing, 266 | > repair, or correction. This disclaimer of warranty constitutes an 267 | > essential part of this License. No use of any Covered Software is 268 | > authorized under this License except under this disclaimer. 269 | 270 | ### 7. Limitation of Liability 271 | 272 | > Under no circumstances and under no legal theory, whether tort 273 | > (including negligence), contract, or otherwise, shall any 274 | > Contributor, or anyone who distributes Covered Software as 275 | > permitted above, be liable to You for any direct, indirect, 276 | > special, incidental, or consequential damages of any character 277 | > including, without limitation, damages for lost profits, loss of 278 | > goodwill, work stoppage, computer failure or malfunction, or any 279 | > and all other commercial damages or losses, even if such party 280 | > shall have been informed of the possibility of such damages. This 281 | > limitation of liability shall not apply to liability for death or 282 | > personal injury resulting from such party's negligence to the 283 | > extent applicable law prohibits such limitation. Some 284 | > jurisdictions do not allow the exclusion or limitation of 285 | > incidental or consequential damages, so this exclusion and 286 | > limitation may not apply to You. 287 | 288 | 289 | ### 8. Litigation 290 | 291 | Any litigation relating to this License may be brought only in the 292 | courts of a jurisdiction where the defendant maintains its principal 293 | place of business and such litigation shall be governed by laws of that 294 | jurisdiction, without reference to its conflict-of-law provisions. 295 | Nothing in this Section shall prevent a party's ability to bring 296 | cross-claims or counter-claims. 297 | 298 | 299 | ### 9. Miscellaneous 300 | 301 | This License represents the complete agreement concerning the subject 302 | matter hereof. If any provision of this License is held to be 303 | unenforceable, such provision shall be reformed only to the extent 304 | necessary to make it enforceable. Any law or regulation which provides 305 | that the language of a contract shall be construed against the drafter 306 | shall not be used to construe this License against a Contributor. 307 | 308 | 309 | ### 10. Versions of the License 310 | 311 | #### 10.1. New Versions 312 | 313 | Mozilla Foundation is the license steward. Except as provided in Section 314 | 10.3, no one other than the license steward has the right to modify or 315 | publish new versions of this License. Each version will be given a 316 | distinguishing version number. 317 | 318 | #### 10.2. Effect of New Versions 319 | 320 | You may distribute the Covered Software under the terms of the version 321 | of the License under which You originally received the Covered Software, 322 | or under the terms of any subsequent version published by the license 323 | steward. 324 | 325 | #### 10.3. Modified Versions 326 | 327 | If you create software not governed by this License, and you want to 328 | create a new license for such software, you may create and use a 329 | modified version of this License if you rename the license and remove 330 | any references to the name of the license steward (except to note that 331 | such modified license differs from this License). 332 | 333 | #### 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses 334 | 335 | If You choose to distribute Source Code Form that is Incompatible With 336 | Secondary Licenses under the terms of this version of the License, the 337 | notice described in Exhibit B of this License must be attached. 338 | 339 | ## Exhibit A - Source Code Form License Notice 340 | 341 | This Source Code Form is subject to the terms of the Mozilla Public 342 | License, v. 2.0. If a copy of the MPL was not distributed with this 343 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 344 | 345 | If it is not possible or desirable to put the notice in a particular 346 | file, then You may include the notice in a location (such as a LICENSE 347 | file in a relevant directory) where a recipient would be likely to look 348 | for such a notice. 349 | 350 | You may add additional accurate notices of copyright ownership. 351 | 352 | ## Exhibit B - “Incompatible With Secondary Licenses” Notice 353 | 354 | This Source Code Form is "Incompatible With Secondary Licenses", as 355 | defined by the Mozilla Public License, v. 2.0. 356 | -------------------------------------------------------------------------------- /Make/VS.2017/openSeaChest_LogParser/openSeaChest_LogParser/openSeaChest_LogParser.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2010 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opensea-common", "..\..\..\..\opensea-common\Make\VS.2017\opensea-common\opensea-common\opensea-common.vcxproj", "{FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {621B44CE-B314-4E05-B214-5DC70F2B4798} = {621B44CE-B314-4E05-B214-5DC70F2B4798} 9 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} = {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} 10 | EndProjectSection 11 | EndProject 12 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openSeaChest_LogParser", "openSeaChest_LogParser.vcxproj", "{BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}" 13 | ProjectSection(ProjectDependencies) = postProject 14 | {621B44CE-B314-4E05-B214-5DC70F2B4798} = {621B44CE-B314-4E05-B214-5DC70F2B4798} 15 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} = {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} 16 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} = {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} 17 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46} = {D7A121F5-30B5-4CA9-A272-3B6469FF8F46} 18 | EndProjectSection 19 | EndProject 20 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opensea-parser", "..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\opensea-parser\opensea-parser.vcxproj", "{D7A121F5-30B5-4CA9-A272-3B6469FF8F46}" 21 | ProjectSection(ProjectDependencies) = postProject 22 | {621B44CE-B314-4E05-B214-5DC70F2B4798} = {621B44CE-B314-4E05-B214-5DC70F2B4798} 23 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} = {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} 24 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} = {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} 25 | EndProjectSection 26 | EndProject 27 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "statLibJson", "..\..\..\..\libjson\VS.2017\libjson.vcxproj", "{153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}" 28 | EndProject 29 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openSeaChest_LogParser_FARM", "..\openSeaChest_LogParser_FARM\openSeaChest_LogParser_FARM.vcxproj", "{A41EF532-A9FA-45EF-AB94-F7C5028B10FA}" 30 | ProjectSection(ProjectDependencies) = postProject 31 | {621B44CE-B314-4E05-B214-5DC70F2B4798} = {621B44CE-B314-4E05-B214-5DC70F2B4798} 32 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} = {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} 33 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} = {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} 34 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46} = {D7A121F5-30B5-4CA9-A272-3B6469FF8F46} 35 | EndProjectSection 36 | EndProject 37 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win_getopt", "..\..\..\..\wingetopt\VS.2017\Win_getopt.vcxproj", "{621B44CE-B314-4E05-B214-5DC70F2B4798}" 38 | EndProject 39 | Global 40 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 41 | Debug|ARM = Debug|ARM 42 | Debug|ARM64 = Debug|ARM64 43 | Debug|x64 = Debug|x64 44 | Debug|x86 = Debug|x86 45 | Release|ARM = Release|ARM 46 | Release|ARM64 = Release|ARM64 47 | Release|x64 = Release|x64 48 | Release|x86 = Release|x86 49 | small|ARM = small|ARM 50 | small|ARM64 = small|ARM64 51 | small|x64 = small|x64 52 | small|x86 = small|x86 53 | Static-Debug|ARM = Static-Debug|ARM 54 | Static-Debug|ARM64 = Static-Debug|ARM64 55 | Static-Debug|x64 = Static-Debug|x64 56 | Static-Debug|x86 = Static-Debug|x86 57 | Static-Release|ARM = Static-Release|ARM 58 | Static-Release|ARM64 = Static-Release|ARM64 59 | Static-Release|x64 = Static-Release|x64 60 | Static-Release|x86 = Static-Release|x86 61 | EndGlobalSection 62 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 63 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|ARM.ActiveCfg = Debug|ARM 64 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|ARM.Build.0 = Debug|ARM 65 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|ARM64.ActiveCfg = Debug|ARM 66 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|ARM64.Build.0 = Debug|ARM 67 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|x64.ActiveCfg = Debug|x64 68 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|x64.Build.0 = Debug|x64 69 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|x86.ActiveCfg = Debug|Win32 70 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|x86.Build.0 = Debug|Win32 71 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|ARM.ActiveCfg = Debug|ARM 72 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|ARM.Build.0 = Debug|ARM 73 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|ARM64.ActiveCfg = Debug|ARM 74 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|ARM64.Build.0 = Debug|ARM 75 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|x64.ActiveCfg = Release|x64 76 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|x64.Build.0 = Release|x64 77 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|x86.ActiveCfg = Release|Win32 78 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|x86.Build.0 = Release|Win32 79 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|ARM.ActiveCfg = Debug|ARM 80 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|ARM.Build.0 = Debug|ARM 81 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|ARM64.ActiveCfg = Debug|ARM 82 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|ARM64.Build.0 = Debug|ARM 83 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|x64.ActiveCfg = Debug|ARM 84 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|x64.Build.0 = Debug|ARM 85 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|x86.ActiveCfg = Debug|ARM 86 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|x86.Build.0 = Debug|ARM 87 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|ARM.ActiveCfg = Debug|ARM 88 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|ARM.Build.0 = Debug|ARM 89 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|ARM64.ActiveCfg = Debug|ARM 90 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|ARM64.Build.0 = Debug|ARM 91 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 92 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|x64.Build.0 = Static-Debug|x64 93 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 94 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|x86.Build.0 = Static-Debug|Win32 95 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|ARM.ActiveCfg = Debug|ARM 96 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|ARM.Build.0 = Debug|ARM 97 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|ARM64.ActiveCfg = Debug|ARM 98 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|ARM64.Build.0 = Debug|ARM 99 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|x64.ActiveCfg = Static-Release|x64 100 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|x64.Build.0 = Static-Release|x64 101 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|x86.ActiveCfg = Static-Release|Win32 102 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|x86.Build.0 = Static-Release|Win32 103 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|ARM.ActiveCfg = Debug|ARM 104 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|ARM.Build.0 = Debug|ARM 105 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|ARM64.ActiveCfg = Debug|ARM 106 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|ARM64.Build.0 = Debug|ARM 107 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|x64.ActiveCfg = Debug|x64 108 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|x64.Build.0 = Debug|x64 109 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|x86.ActiveCfg = Debug|Win32 110 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|x86.Build.0 = Debug|Win32 111 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|ARM.ActiveCfg = Debug|Win32 112 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|ARM.Build.0 = Debug|Win32 113 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|ARM64.ActiveCfg = Debug|Win32 114 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|ARM64.Build.0 = Debug|Win32 115 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|x64.ActiveCfg = Release|x64 116 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|x64.Build.0 = Release|x64 117 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|x86.ActiveCfg = Release|Win32 118 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|x86.Build.0 = Release|Win32 119 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|ARM.ActiveCfg = Debug|Win32 120 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|ARM.Build.0 = Debug|Win32 121 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|ARM64.ActiveCfg = Debug|Win32 122 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|ARM64.Build.0 = Debug|Win32 123 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|x64.ActiveCfg = Debug|Win32 124 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|x64.Build.0 = Debug|Win32 125 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|x86.ActiveCfg = Debug|Win32 126 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|x86.Build.0 = Debug|Win32 127 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|ARM.ActiveCfg = Debug|Win32 128 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|ARM.Build.0 = Debug|Win32 129 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|ARM64.ActiveCfg = Debug|Win32 130 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|ARM64.Build.0 = Debug|Win32 131 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 132 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|x64.Build.0 = Static-Debug|x64 133 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 134 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|x86.Build.0 = Static-Debug|Win32 135 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|ARM.ActiveCfg = Debug|Win32 136 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|ARM.Build.0 = Debug|Win32 137 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|ARM64.ActiveCfg = Debug|Win32 138 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|ARM64.Build.0 = Debug|Win32 139 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|x64.ActiveCfg = Static-Release|x64 140 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|x64.Build.0 = Static-Release|x64 141 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|x86.ActiveCfg = Static-Release|Win32 142 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|x86.Build.0 = Static-Release|Win32 143 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|ARM.ActiveCfg = Debug|ARM 144 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|ARM.Build.0 = Debug|ARM 145 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|ARM64.ActiveCfg = Debug|ARM 146 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|ARM64.Build.0 = Debug|ARM 147 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|x64.ActiveCfg = Debug|x64 148 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|x64.Build.0 = Debug|x64 149 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|x86.ActiveCfg = Debug|Win32 150 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|x86.Build.0 = Debug|Win32 151 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|ARM.ActiveCfg = Release|Win32 152 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|ARM64.ActiveCfg = Release|Win32 153 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|x64.ActiveCfg = Release|x64 154 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|x64.Build.0 = Release|x64 155 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|x86.ActiveCfg = Release|Win32 156 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|x86.Build.0 = Release|Win32 157 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|ARM.ActiveCfg = Release|x64 158 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|ARM.Build.0 = Release|x64 159 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|ARM64.ActiveCfg = Release|x64 160 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|ARM64.Build.0 = Release|x64 161 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|x64.ActiveCfg = Static-Release|x64 162 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|x64.Build.0 = Static-Release|x64 163 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|x86.ActiveCfg = Static-Release|Win32 164 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|x86.Build.0 = Static-Release|Win32 165 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|ARM.ActiveCfg = Static-Debug|Win32 166 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|ARM64.ActiveCfg = Static-Debug|Win32 167 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 168 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|x64.Build.0 = Static-Debug|x64 169 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 170 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|x86.Build.0 = Static-Debug|Win32 171 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|ARM.ActiveCfg = Static-Release|Win32 172 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|ARM64.ActiveCfg = Static-Release|Win32 173 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|x64.ActiveCfg = Static-Release|x64 174 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|x64.Build.0 = Static-Release|x64 175 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|x86.ActiveCfg = Static-Release|Win32 176 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|x86.Build.0 = Static-Release|Win32 177 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|ARM.ActiveCfg = Debug|Win32 178 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|ARM64.ActiveCfg = Debug|Win32 179 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|x64.ActiveCfg = Debug|x64 180 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|x64.Build.0 = Debug|x64 181 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|x86.ActiveCfg = Debug|Win32 182 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|x86.Build.0 = Debug|Win32 183 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|ARM.ActiveCfg = Release|Win32 184 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|ARM64.ActiveCfg = Release|Win32 185 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|x64.ActiveCfg = Release|x64 186 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|x64.Build.0 = Release|x64 187 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|x86.ActiveCfg = Release|Win32 188 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|x86.Build.0 = Release|Win32 189 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|ARM.ActiveCfg = small|Win32 190 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|ARM64.ActiveCfg = small|Win32 191 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|x64.ActiveCfg = small|x64 192 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|x64.Build.0 = small|x64 193 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|x86.ActiveCfg = small|Win32 194 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|x86.Build.0 = small|Win32 195 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|ARM.ActiveCfg = Static-Debug|Win32 196 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|ARM64.ActiveCfg = Static-Debug|Win32 197 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 198 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|x64.Build.0 = Static-Debug|x64 199 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 200 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|x86.Build.0 = Static-Debug|Win32 201 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|ARM.ActiveCfg = Static-Release|Win32 202 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|ARM64.ActiveCfg = Static-Release|Win32 203 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|x64.ActiveCfg = Static-Release|x64 204 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|x64.Build.0 = Static-Release|x64 205 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|x86.ActiveCfg = Static-Release|Win32 206 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|x86.Build.0 = Static-Release|Win32 207 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|ARM.ActiveCfg = Debug|Win32 208 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|ARM64.ActiveCfg = Debug|Win32 209 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|x64.ActiveCfg = Debug|x64 210 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|x64.Build.0 = Debug|x64 211 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|x86.ActiveCfg = Debug|Win32 212 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|x86.Build.0 = Debug|Win32 213 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|ARM.ActiveCfg = Release|Win32 214 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|ARM64.ActiveCfg = Release|Win32 215 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|x64.ActiveCfg = Release|x64 216 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|x64.Build.0 = Release|x64 217 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|x86.ActiveCfg = Release|Win32 218 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|x86.Build.0 = Release|Win32 219 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|ARM.ActiveCfg = Release|x64 220 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|ARM.Build.0 = Release|x64 221 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|ARM64.ActiveCfg = Release|x64 222 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|ARM64.Build.0 = Release|x64 223 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|x64.ActiveCfg = Static-Release|x64 224 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|x64.Build.0 = Static-Release|x64 225 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|x86.ActiveCfg = Static-Release|Win32 226 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|x86.Build.0 = Static-Release|Win32 227 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|ARM.ActiveCfg = Static-Debug|Win32 228 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|ARM64.ActiveCfg = Static-Debug|Win32 229 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 230 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|x64.Build.0 = Static-Debug|x64 231 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 232 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|x86.Build.0 = Static-Debug|Win32 233 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|ARM.ActiveCfg = Static-Release|Win32 234 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|ARM64.ActiveCfg = Static-Release|Win32 235 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|x64.ActiveCfg = Static-Release|x64 236 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|x64.Build.0 = Static-Release|x64 237 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|x86.ActiveCfg = Static-Release|Win32 238 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|x86.Build.0 = Static-Release|Win32 239 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|ARM.ActiveCfg = Debug|ARM 240 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|ARM.Build.0 = Debug|ARM 241 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|ARM64.ActiveCfg = Debug|ARM64 242 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|ARM64.Build.0 = Debug|ARM64 243 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|x64.ActiveCfg = Debug|x64 244 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|x64.Build.0 = Debug|x64 245 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|x86.ActiveCfg = Debug|Win32 246 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|x86.Build.0 = Debug|Win32 247 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|ARM.ActiveCfg = Release|ARM 248 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|ARM.Build.0 = Release|ARM 249 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|ARM64.ActiveCfg = Release|ARM64 250 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|ARM64.Build.0 = Release|ARM64 251 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|x64.ActiveCfg = Release|x64 252 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|x64.Build.0 = Release|x64 253 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|x86.ActiveCfg = Release|Win32 254 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|x86.Build.0 = Release|Win32 255 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|ARM.ActiveCfg = Static-Release|ARM 256 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|ARM.Build.0 = Static-Release|ARM 257 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|ARM64.ActiveCfg = Static-Release|ARM64 258 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|ARM64.Build.0 = Static-Release|ARM64 259 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|x64.ActiveCfg = Static-Release|x64 260 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|x64.Build.0 = Static-Release|x64 261 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|x86.ActiveCfg = Static-Release|Win32 262 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|x86.Build.0 = Static-Release|Win32 263 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|ARM.ActiveCfg = Static-Debug|ARM 264 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|ARM.Build.0 = Static-Debug|ARM 265 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|ARM64.ActiveCfg = Static-Debug|ARM64 266 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|ARM64.Build.0 = Static-Debug|ARM64 267 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 268 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|x64.Build.0 = Static-Debug|x64 269 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 270 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|x86.Build.0 = Static-Debug|Win32 271 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|ARM.ActiveCfg = Static-Release|ARM 272 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|ARM.Build.0 = Static-Release|ARM 273 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|ARM64.ActiveCfg = Static-Release|ARM64 274 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|ARM64.Build.0 = Static-Release|ARM64 275 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|x64.ActiveCfg = Static-Release|x64 276 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|x64.Build.0 = Static-Release|x64 277 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|x86.ActiveCfg = Static-Release|Win32 278 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|x86.Build.0 = Static-Release|Win32 279 | EndGlobalSection 280 | GlobalSection(SolutionProperties) = preSolution 281 | HideSolutionNode = FALSE 282 | EndGlobalSection 283 | GlobalSection(ExtensibilityGlobals) = postSolution 284 | SolutionGuid = {2F627F64-E2BC-4260-BCD7-4E3E924716D2} 285 | EndGlobalSection 286 | EndGlobal 287 | -------------------------------------------------------------------------------- /Make/VS.2017/openSeaChest_LogParser/openSeaChest_LogParser/openSeaChest_LogParser.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Header Files 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /Make/VS.2017/openSeaChest_LogParser/openSeaChest_LogParser_FARM/openSeaChest_LogParser_FARM.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | Static-Debug 22 | Win32 23 | 24 | 25 | Static-Debug 26 | x64 27 | 28 | 29 | Static-Release 30 | Win32 31 | 32 | 33 | Static-Release 34 | x64 35 | 36 | 37 | 38 | 15.0 39 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA} 40 | Win32Proj 41 | openSeaCHestLogParserFARM 42 | 10.0.16299.0 43 | openSeaChest_LogParser_FARM 44 | 45 | 46 | 47 | Application 48 | true 49 | v141 50 | MultiByte 51 | false 52 | 53 | 54 | 55 | Application 56 | true 57 | v141 58 | MultiByte 59 | false 60 | 61 | 62 | 63 | Application 64 | false 65 | v141 66 | 67 | 68 | MultiByte 69 | false 70 | 71 | 72 | Application 73 | true 74 | v141 75 | MultiByte 76 | false 77 | 78 | 79 | 80 | Application 81 | true 82 | v141 83 | MultiByte 84 | false 85 | 86 | 87 | 88 | Application 89 | false 90 | v141 91 | 92 | 93 | MultiByte 94 | false 95 | 96 | 97 | v141 98 | MultiByte 99 | 100 | 101 | 102 | v141 103 | MultiByte 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | openSeaChest_LogParser_FARM 134 | 135 | 136 | 137 | openSeaChest_LogParser_FARM 138 | 139 | 140 | 141 | 142 | $(SolutionDir)$(Platform)\$(Configuration)\ 143 | $(Platform)\$(Configuration)\ 144 | openSeaChest_LogParser_FARM 145 | 146 | 147 | 148 | $(SolutionDir)$(Platform)\$(Configuration)\ 149 | $(Platform)\$(Configuration)\ 150 | openSeaChest_LogParser_FARM 151 | 152 | 153 | 154 | 155 | $(SolutionDir)$(Platform)\$(Configuration)\ 156 | $(Platform)\$(Configuration)\ 157 | openSeaChest_LogParser_FARM 158 | 159 | 160 | 161 | 162 | openSeaChest_LogParser_FARM 163 | 164 | 165 | $(SolutionDir)$(Platform)\$(Configuration)\ 166 | $(Platform)\$(Configuration)\ 167 | openSeaChest_LogParser_FARM 168 | 169 | 170 | openSeaChest_LogParser_FARM 171 | 172 | 173 | 174 | NotUsing 175 | Level3 176 | 177 | 178 | true 179 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 180 | true 181 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 182 | OldStyle 183 | 184 | MultiThreadedDebugDLL 185 | /Zc:__cplusplus %(AdditionalOptions) 186 | 187 | 188 | Console 189 | true 190 | ..\..\..\..\wingetopt\VS.2017\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2017\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2017\$(Platform)\$(Configuration) 191 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 192 | 193 | 194 | 195 | 196 | NotUsing 197 | Level3 198 | 199 | 200 | true 201 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 202 | true 203 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 204 | 205 | 206 | 207 | 208 | MultiThreadedDebug 209 | /Zc:__cplusplus %(AdditionalOptions) 210 | 211 | 212 | Console 213 | true 214 | ..\..\..\..\wingetopt\VS.2017\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2017\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2017\$(Platform)\$(Configuration) 215 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 216 | 217 | 218 | 219 | 220 | NotUsing 221 | Level3 222 | 223 | 224 | true 225 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 226 | true 227 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 228 | 229 | 230 | 231 | MultiThreadedDebugDLL 232 | /Zc:__cplusplus %(AdditionalOptions) 233 | 234 | 235 | Console 236 | true 237 | ..\..\..\..\wingetopt\VS.2017\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2017\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2017\$(Platform)\$(Configuration) 238 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 239 | 240 | 241 | 242 | 243 | NotUsing 244 | Level3 245 | 246 | 247 | true 248 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 249 | true 250 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 251 | 252 | 253 | 254 | 255 | 256 | 257 | MultiThreadedDebug 258 | /Zc:__cplusplus %(AdditionalOptions) 259 | 260 | 261 | Console 262 | true 263 | ..\..\..\..\wingetopt\VS.2017\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2017\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2017\$(Platform)\$(Configuration) 264 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 265 | 266 | 267 | 268 | 269 | NotUsing 270 | Level3 271 | 272 | 273 | true 274 | 275 | 276 | true 277 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 278 | true 279 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 280 | 281 | 282 | MultiThreadedDLL 283 | /Zc:__cplusplus %(AdditionalOptions) 284 | 285 | 286 | Console 287 | true 288 | true 289 | true 290 | ..\..\..\..\wingetopt\VS.2017\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2017\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2017\$(Platform)\$(Configuration) 291 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 292 | 293 | 294 | 295 | 296 | NotUsing 297 | Level3 298 | 299 | 300 | true 301 | 302 | 303 | true 304 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 305 | true 306 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 307 | 308 | MultiThreadedDLL 309 | /Zc:__cplusplus %(AdditionalOptions) 310 | 311 | 312 | Console 313 | true 314 | true 315 | true 316 | ..\..\..\..\wingetopt\VS.2017\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2017\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2017\$(Platform)\$(Configuration) 317 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 318 | 319 | 320 | 321 | 322 | ..\..\..\..\wingetopt\VS.2017\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2017\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2017\$(Platform)\$(Configuration) 323 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 324 | 325 | 326 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 327 | 328 | 329 | 330 | 331 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 332 | MultiThreaded 333 | /Zc:__cplusplus %(AdditionalOptions) 334 | 335 | 336 | 337 | 338 | ..\..\..\..\wingetopt\VS.2017\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2017\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2017\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2017\$(Platform)\$(Configuration) 339 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 340 | 341 | 342 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 343 | 344 | 345 | 346 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 347 | MultiThreaded 348 | /Zc:__cplusplus %(AdditionalOptions) 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | -------------------------------------------------------------------------------- /Make/VS.2017/openSeaChest_LogParser/openSeaChest_LogParser_FARM/openSeaChest_LogParser_FARM.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Header Files 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /Make/VS.2019/openSeaChest_LogParser/openSeaChest_LogParser/openSeaChest_LogParser.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32126.315 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opensea-common", "..\..\..\..\opensea-common\Make\VS.2019\opensea-common\opensea-common\opensea-common.vcxproj", "{FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {621B44CE-B314-4E05-B214-5DC70F2B4798} = {621B44CE-B314-4E05-B214-5DC70F2B4798} 9 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} = {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} 10 | EndProjectSection 11 | EndProject 12 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openSeaChest_LogParser", "openSeaChest_LogParser.vcxproj", "{BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}" 13 | ProjectSection(ProjectDependencies) = postProject 14 | {621B44CE-B314-4E05-B214-5DC70F2B4798} = {621B44CE-B314-4E05-B214-5DC70F2B4798} 15 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} = {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} 16 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} = {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} 17 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46} = {D7A121F5-30B5-4CA9-A272-3B6469FF8F46} 18 | EndProjectSection 19 | EndProject 20 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opensea-parser", "..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\opensea-parser\opensea-parser.vcxproj", "{D7A121F5-30B5-4CA9-A272-3B6469FF8F46}" 21 | ProjectSection(ProjectDependencies) = postProject 22 | {621B44CE-B314-4E05-B214-5DC70F2B4798} = {621B44CE-B314-4E05-B214-5DC70F2B4798} 23 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} = {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} 24 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} = {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} 25 | EndProjectSection 26 | EndProject 27 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "statLibJson", "..\..\..\..\libjson\VS.2019\libjson.vcxproj", "{153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}" 28 | EndProject 29 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openSeaChest_LogParser_FARM", "..\openSeaChest_LogParser_FARM\openSeaChest_LogParser_FARM.vcxproj", "{A41EF532-A9FA-45EF-AB94-F7C5028B10FA}" 30 | ProjectSection(ProjectDependencies) = postProject 31 | {621B44CE-B314-4E05-B214-5DC70F2B4798} = {621B44CE-B314-4E05-B214-5DC70F2B4798} 32 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} = {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA} 33 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} = {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF} 34 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46} = {D7A121F5-30B5-4CA9-A272-3B6469FF8F46} 35 | EndProjectSection 36 | EndProject 37 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win_getopt", "..\..\..\..\wingetopt\VS.2019\Win_getopt.vcxproj", "{621B44CE-B314-4E05-B214-5DC70F2B4798}" 38 | EndProject 39 | Global 40 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 41 | Debug|x64 = Debug|x64 42 | Debug|x86 = Debug|x86 43 | Release|x64 = Release|x64 44 | Release|x86 = Release|x86 45 | small|x64 = small|x64 46 | small|x86 = small|x86 47 | Static-Debug|x64 = Static-Debug|x64 48 | Static-Debug|x86 = Static-Debug|x86 49 | Static-Release|x64 = Static-Release|x64 50 | Static-Release|x86 = Static-Release|x86 51 | EndGlobalSection 52 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 53 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|x64.ActiveCfg = Debug|x64 54 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|x64.Build.0 = Debug|x64 55 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|x86.ActiveCfg = Debug|Win32 56 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Debug|x86.Build.0 = Debug|Win32 57 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|x64.ActiveCfg = Release|x64 58 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|x64.Build.0 = Release|x64 59 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|x86.ActiveCfg = Release|Win32 60 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Release|x86.Build.0 = Release|Win32 61 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|x64.ActiveCfg = Debug|ARM 62 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|x64.Build.0 = Debug|ARM 63 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|x86.ActiveCfg = Debug|ARM 64 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.small|x86.Build.0 = Debug|ARM 65 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 66 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|x64.Build.0 = Static-Debug|x64 67 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 68 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Debug|x86.Build.0 = Static-Debug|Win32 69 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|x64.ActiveCfg = Static-Release|x64 70 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|x64.Build.0 = Static-Release|x64 71 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|x86.ActiveCfg = Static-Release|Win32 72 | {FBCBA2F1-3BF8-4A25-B815-E228E1AEDCFF}.Static-Release|x86.Build.0 = Static-Release|Win32 73 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|x64.ActiveCfg = Debug|x64 74 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|x64.Build.0 = Debug|x64 75 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|x86.ActiveCfg = Debug|Win32 76 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Debug|x86.Build.0 = Debug|Win32 77 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|x64.ActiveCfg = Release|x64 78 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|x64.Build.0 = Release|x64 79 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|x86.ActiveCfg = Release|Win32 80 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Release|x86.Build.0 = Release|Win32 81 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|x64.ActiveCfg = Debug|Win32 82 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|x64.Build.0 = Debug|Win32 83 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|x86.ActiveCfg = Debug|Win32 84 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.small|x86.Build.0 = Debug|Win32 85 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 86 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|x64.Build.0 = Static-Debug|x64 87 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 88 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Debug|x86.Build.0 = Static-Debug|Win32 89 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|x64.ActiveCfg = Static-Release|x64 90 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|x64.Build.0 = Static-Release|x64 91 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|x86.ActiveCfg = Static-Release|Win32 92 | {BF10D650-ECA0-4AC3-8A7F-13B8F61C0D9D}.Static-Release|x86.Build.0 = Static-Release|Win32 93 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|x64.ActiveCfg = Debug|x64 94 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|x64.Build.0 = Debug|x64 95 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|x86.ActiveCfg = Debug|Win32 96 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Debug|x86.Build.0 = Debug|Win32 97 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|x64.ActiveCfg = Release|x64 98 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|x64.Build.0 = Release|x64 99 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|x86.ActiveCfg = Release|Win32 100 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Release|x86.Build.0 = Release|Win32 101 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|x64.ActiveCfg = Static-Release|x64 102 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|x64.Build.0 = Static-Release|x64 103 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|x86.ActiveCfg = Static-Release|Win32 104 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.small|x86.Build.0 = Static-Release|Win32 105 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 106 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|x64.Build.0 = Static-Debug|x64 107 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 108 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Debug|x86.Build.0 = Static-Debug|Win32 109 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|x64.ActiveCfg = Static-Release|x64 110 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|x64.Build.0 = Static-Release|x64 111 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|x86.ActiveCfg = Static-Release|Win32 112 | {D7A121F5-30B5-4CA9-A272-3B6469FF8F46}.Static-Release|x86.Build.0 = Static-Release|Win32 113 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|x64.ActiveCfg = Debug|x64 114 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|x64.Build.0 = Debug|x64 115 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|x86.ActiveCfg = Debug|Win32 116 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Debug|x86.Build.0 = Debug|Win32 117 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|x64.ActiveCfg = Release|x64 118 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|x64.Build.0 = Release|x64 119 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|x86.ActiveCfg = Release|Win32 120 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Release|x86.Build.0 = Release|Win32 121 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|x64.ActiveCfg = small|x64 122 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|x64.Build.0 = small|x64 123 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|x86.ActiveCfg = small|Win32 124 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.small|x86.Build.0 = small|Win32 125 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 126 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|x64.Build.0 = Static-Debug|x64 127 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 128 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Debug|x86.Build.0 = Static-Debug|Win32 129 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|x64.ActiveCfg = Static-Release|x64 130 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|x64.Build.0 = Static-Release|x64 131 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|x86.ActiveCfg = Static-Release|Win32 132 | {153A6FE5-40A9-4C31-B0C2-1C68D2E37BEA}.Static-Release|x86.Build.0 = Static-Release|Win32 133 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|x64.ActiveCfg = Debug|x64 134 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|x64.Build.0 = Debug|x64 135 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|x86.ActiveCfg = Debug|Win32 136 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Debug|x86.Build.0 = Debug|Win32 137 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|x64.ActiveCfg = Release|x64 138 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|x64.Build.0 = Release|x64 139 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|x86.ActiveCfg = Release|Win32 140 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Release|x86.Build.0 = Release|Win32 141 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|x64.ActiveCfg = Static-Release|x64 142 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|x64.Build.0 = Static-Release|x64 143 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|x86.ActiveCfg = Static-Release|Win32 144 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.small|x86.Build.0 = Static-Release|Win32 145 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 146 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|x64.Build.0 = Static-Debug|x64 147 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 148 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Debug|x86.Build.0 = Static-Debug|Win32 149 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|x64.ActiveCfg = Static-Release|x64 150 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|x64.Build.0 = Static-Release|x64 151 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|x86.ActiveCfg = Static-Release|Win32 152 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA}.Static-Release|x86.Build.0 = Static-Release|Win32 153 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|x64.ActiveCfg = Debug|x64 154 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|x64.Build.0 = Debug|x64 155 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|x86.ActiveCfg = Debug|Win32 156 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Debug|x86.Build.0 = Debug|Win32 157 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|x64.ActiveCfg = Release|x64 158 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|x64.Build.0 = Release|x64 159 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|x86.ActiveCfg = Release|Win32 160 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Release|x86.Build.0 = Release|Win32 161 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|x64.ActiveCfg = Static-Release|x64 162 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|x64.Build.0 = Static-Release|x64 163 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|x86.ActiveCfg = Static-Release|Win32 164 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.small|x86.Build.0 = Static-Release|Win32 165 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|x64.ActiveCfg = Static-Debug|x64 166 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|x64.Build.0 = Static-Debug|x64 167 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|x86.ActiveCfg = Static-Debug|Win32 168 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Debug|x86.Build.0 = Static-Debug|Win32 169 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|x64.ActiveCfg = Static-Release|x64 170 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|x64.Build.0 = Static-Release|x64 171 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|x86.ActiveCfg = Static-Release|Win32 172 | {621B44CE-B314-4E05-B214-5DC70F2B4798}.Static-Release|x86.Build.0 = Static-Release|Win32 173 | EndGlobalSection 174 | GlobalSection(SolutionProperties) = preSolution 175 | HideSolutionNode = FALSE 176 | EndGlobalSection 177 | GlobalSection(ExtensibilityGlobals) = postSolution 178 | SolutionGuid = {2F627F64-E2BC-4260-BCD7-4E3E924716D2} 179 | EndGlobalSection 180 | EndGlobal 181 | -------------------------------------------------------------------------------- /Make/VS.2019/openSeaChest_LogParser/openSeaChest_LogParser/openSeaChest_LogParser.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Header Files 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /Make/VS.2019/openSeaChest_LogParser/openSeaChest_LogParser_FARM/openSeaChest_LogParser_FARM.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | Static-Debug 22 | Win32 23 | 24 | 25 | Static-Debug 26 | x64 27 | 28 | 29 | Static-Release 30 | Win32 31 | 32 | 33 | Static-Release 34 | x64 35 | 36 | 37 | 38 | 15.0 39 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA} 40 | Win32Proj 41 | openSeaCHestLogParserFARM 42 | 10.0 43 | openSeaChest_LogParser_FARM 44 | 45 | 46 | 47 | Application 48 | true 49 | v142 50 | MultiByte 51 | false 52 | 53 | 54 | 55 | Application 56 | true 57 | v142 58 | MultiByte 59 | false 60 | 61 | 62 | 63 | Application 64 | false 65 | v142 66 | 67 | 68 | MultiByte 69 | false 70 | 71 | 72 | Application 73 | true 74 | v142 75 | MultiByte 76 | false 77 | 78 | 79 | 80 | Application 81 | true 82 | v142 83 | MultiByte 84 | false 85 | 86 | 87 | 88 | Application 89 | false 90 | v142 91 | 92 | 93 | MultiByte 94 | false 95 | 96 | 97 | v142 98 | MultiByte 99 | 100 | 101 | 102 | v142 103 | MultiByte 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | openSeaChest_LogParser_FARM 134 | 135 | 136 | 137 | openSeaChest_LogParser_FARM 138 | 139 | 140 | 141 | 142 | $(SolutionDir)$(Platform)\$(Configuration)\ 143 | $(Platform)\$(Configuration)\ 144 | openSeaChest_LogParser_FARM 145 | 146 | 147 | 148 | $(SolutionDir)$(Platform)\$(Configuration)\ 149 | $(Platform)\$(Configuration)\ 150 | openSeaChest_LogParser_FARM 151 | 152 | 153 | 154 | 155 | $(SolutionDir)$(Platform)\$(Configuration)\ 156 | $(Platform)\$(Configuration)\ 157 | openSeaChest_LogParser_FARM 158 | 159 | 160 | 161 | 162 | openSeaChest_LogParser_FARM 163 | 164 | 165 | $(SolutionDir)$(Platform)\$(Configuration)\ 166 | $(Platform)\$(Configuration)\ 167 | openSeaChest_LogParser_FARM 168 | 169 | 170 | openSeaChest_LogParser_FARM 171 | 172 | 173 | 174 | NotUsing 175 | Level3 176 | 177 | 178 | true 179 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 180 | true 181 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 182 | OldStyle 183 | 184 | MultiThreadedDebugDLL 185 | /Zc:__cplusplus 186 | 187 | 188 | Console 189 | true 190 | ..\..\..\..\wingetopt\VS.2019\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2019\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2019\$(Platform)\$(Configuration) 191 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib;Version.lib;Advapi32.lib; 192 | 193 | 194 | 195 | 196 | NotUsing 197 | Level3 198 | 199 | 200 | true 201 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 202 | true 203 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 204 | 205 | 206 | 207 | 208 | MultiThreadedDebug 209 | /Zc:__cplusplus 210 | 211 | 212 | Console 213 | true 214 | ..\..\..\..\wingetopt\VS.2019\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2019\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2019\$(Platform)\$(Configuration) 215 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib;Version.lib;Advapi32.lib; 216 | 217 | 218 | 219 | 220 | NotUsing 221 | Level3 222 | 223 | 224 | true 225 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 226 | true 227 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 228 | 229 | 230 | 231 | MultiThreadedDebugDLL 232 | /Zc:__cplusplus 233 | 234 | 235 | Console 236 | true 237 | ..\..\..\..\wingetopt\VS.2019\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2019\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2019\$(Platform)\$(Configuration) 238 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib;Version.lib;Advapi32.lib; 239 | 240 | 241 | 242 | 243 | NotUsing 244 | Level3 245 | 246 | 247 | true 248 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 249 | true 250 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 251 | 252 | 253 | 254 | 255 | 256 | 257 | MultiThreadedDebug 258 | /Zc:__cplusplus 259 | 260 | 261 | Console 262 | true 263 | ..\..\..\..\wingetopt\VS.2019\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2019\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2019\$(Platform)\$(Configuration) 264 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib;Version.lib;Advapi32.lib; 265 | 266 | 267 | 268 | 269 | NotUsing 270 | Level3 271 | 272 | 273 | true 274 | 275 | 276 | true 277 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 278 | true 279 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 280 | 281 | 282 | MultiThreadedDLL 283 | /Zc:__cplusplus 284 | 285 | 286 | Console 287 | true 288 | true 289 | true 290 | ..\..\..\..\wingetopt\VS.2019\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2019\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2019\$(Platform)\$(Configuration) 291 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib;Version.lib;Advapi32.lib; 292 | 293 | 294 | 295 | 296 | NotUsing 297 | Level3 298 | 299 | 300 | true 301 | 302 | 303 | true 304 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 305 | true 306 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 307 | 308 | MultiThreadedDLL 309 | /Zc:__cplusplus 310 | 311 | 312 | Console 313 | true 314 | true 315 | true 316 | ..\..\..\..\wingetopt\VS.2019\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2019\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2019\$(Platform)\$(Configuration) 317 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib;Version.lib;Advapi32.lib; 318 | 319 | 320 | 321 | 322 | ..\..\..\..\wingetopt\VS.2019\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2019\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2019\$(Platform)\$(Configuration) 323 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib;Version.lib;Advapi32.lib; 324 | 325 | 326 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 327 | 328 | 329 | 330 | 331 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 332 | MultiThreaded 333 | /Zc:__cplusplus 334 | 335 | 336 | 337 | 338 | ..\..\..\..\wingetopt\VS.2019\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2019\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2019\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2019\$(Platform)\$(Configuration) 339 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib;Version.lib;Advapi32.lib; 340 | 341 | 342 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 343 | 344 | 345 | 346 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 347 | MultiThreaded 348 | /Zc:__cplusplus 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | -------------------------------------------------------------------------------- /Make/VS.2019/openSeaChest_LogParser/openSeaChest_LogParser_FARM/openSeaChest_LogParser_FARM.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Header Files 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /Make/VS.2022/openSeaChest_LogParser/openSeaChest_LogParser/openSeaChest_LogParser.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Header Files 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /Make/VS.2022/openSeaChest_LogParser/openSeaChest_LogParser_FARM/openSeaChest_LogParser_FARM.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | Static-Debug 22 | Win32 23 | 24 | 25 | Static-Debug 26 | x64 27 | 28 | 29 | Static-Release 30 | Win32 31 | 32 | 33 | Static-Release 34 | x64 35 | 36 | 37 | 38 | 15.0 39 | {A41EF532-A9FA-45EF-AB94-F7C5028B10FA} 40 | Win32Proj 41 | openSeaCHestLogParserFARM 42 | 10.0 43 | openSeaChest_LogParser_FARM 44 | 45 | 46 | 47 | Application 48 | true 49 | v143 50 | MultiByte 51 | false 52 | 53 | 54 | 55 | Application 56 | true 57 | v143 58 | MultiByte 59 | false 60 | 61 | 62 | 63 | Application 64 | false 65 | v143 66 | 67 | 68 | MultiByte 69 | false 70 | 71 | 72 | Application 73 | true 74 | v143 75 | MultiByte 76 | false 77 | 78 | 79 | 80 | Application 81 | true 82 | v143 83 | MultiByte 84 | false 85 | 86 | 87 | 88 | Application 89 | false 90 | v143 91 | 92 | 93 | MultiByte 94 | false 95 | 96 | 97 | v143 98 | MultiByte 99 | 100 | 101 | 102 | v143 103 | MultiByte 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | openSeaChest_LogParser_FARM 134 | 135 | 136 | 137 | openSeaChest_LogParser_FARM 138 | 139 | 140 | 141 | 142 | $(SolutionDir)$(Platform)\$(Configuration)\ 143 | $(Platform)\$(Configuration)\ 144 | openSeaChest_LogParser_FARM 145 | 146 | 147 | 148 | $(SolutionDir)$(Platform)\$(Configuration)\ 149 | $(Platform)\$(Configuration)\ 150 | openSeaChest_LogParser_FARM 151 | 152 | 153 | 154 | 155 | $(SolutionDir)$(Platform)\$(Configuration)\ 156 | $(Platform)\$(Configuration)\ 157 | openSeaChest_LogParser_FARM 158 | 159 | 160 | 161 | 162 | openSeaChest_LogParser_FARM 163 | 164 | 165 | $(SolutionDir)$(Platform)\$(Configuration)\ 166 | $(Platform)\$(Configuration)\ 167 | openSeaChest_LogParser_FARM 168 | 169 | 170 | openSeaChest_LogParser_FARM 171 | 172 | 173 | 174 | NotUsing 175 | Level3 176 | 177 | 178 | true 179 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 180 | true 181 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 182 | OldStyle 183 | 184 | MultiThreadedDebugDLL 185 | /Zc:__cplusplus %(AdditionalOptions) 186 | stdcpp20 187 | 188 | 189 | Console 190 | true 191 | ..\..\..\..\wingetopt\VS.2022\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2022\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2022\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2022\$(Platform)\$(Configuration) 192 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 193 | 194 | 195 | 196 | 197 | NotUsing 198 | Level3 199 | 200 | 201 | true 202 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 203 | true 204 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 205 | 206 | 207 | 208 | 209 | MultiThreadedDebug 210 | stdcpp20 211 | /Zc:__cplusplus %(AdditionalOptions) 212 | 213 | 214 | Console 215 | true 216 | ..\..\..\..\wingetopt\VS.2022\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2022\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2022\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2022\$(Platform)\$(Configuration) 217 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 218 | 219 | 220 | 221 | 222 | NotUsing 223 | Level3 224 | 225 | 226 | true 227 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 228 | true 229 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 230 | 231 | 232 | 233 | MultiThreadedDebugDLL 234 | stdcpp20 235 | /Zc:__cplusplus %(AdditionalOptions) 236 | 237 | 238 | Console 239 | true 240 | ..\..\..\..\wingetopt\VS.2022\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2022\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2022\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2022\$(Platform)\$(Configuration) 241 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 242 | 243 | 244 | 245 | 246 | NotUsing 247 | Level3 248 | 249 | 250 | true 251 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 252 | true 253 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 254 | 255 | 256 | 257 | 258 | 259 | 260 | MultiThreadedDebug 261 | stdcpp20 262 | /Zc:__cplusplus %(AdditionalOptions) 263 | 264 | 265 | Console 266 | true 267 | ..\..\..\..\wingetopt\VS.2022\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2022\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2022\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2022\$(Platform)\$(Configuration) 268 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 269 | 270 | 271 | 272 | 273 | NotUsing 274 | Level3 275 | 276 | 277 | true 278 | 279 | 280 | true 281 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 282 | true 283 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 284 | 285 | 286 | MultiThreadedDLL 287 | stdcpp20 288 | /Zc:__cplusplus %(AdditionalOptions) 289 | 290 | 291 | Console 292 | true 293 | true 294 | true 295 | ..\..\..\..\wingetopt\VS.2022\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2022\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2022\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2022\$(Platform)\$(Configuration) 296 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 297 | 298 | 299 | 300 | 301 | NotUsing 302 | Level3 303 | 304 | 305 | true 306 | 307 | 308 | true 309 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 310 | true 311 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 312 | 313 | MultiThreadedDLL 314 | stdcpp20 315 | /Zc:__cplusplus %(AdditionalOptions) 316 | 317 | 318 | Console 319 | true 320 | true 321 | true 322 | ..\..\..\..\wingetopt\VS.2022\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2022\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2022\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2022\$(Platform)\$(Configuration) 323 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 324 | 325 | 326 | 327 | 328 | ..\..\..\..\wingetopt\VS.2022\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2022\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2022\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2022\$(Platform)\$(Configuration) 329 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 330 | 331 | 332 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 333 | 334 | 335 | 336 | 337 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 338 | MultiThreaded 339 | stdcpp20 340 | /Zc:__cplusplus %(AdditionalOptions) 341 | 342 | 343 | 344 | 345 | ..\..\..\..\wingetopt\VS.2022\$(Platform)\$(Configuration);..\..\..\..\opensea-common\Make\VS.2022\opensea-common\$(Platform)\$(Configuration);..\..\..\..\opensea-parser\Make\VS.2022\opensea-parser\$(Platform)\$(Configuration)\LIB\;..\..\..\..\libjson\VS.2022\$(Platform)\$(Configuration) 346 | opensea-common.lib;opensea-parser.lib;getopt.lib;statLibJson.lib 347 | 348 | 349 | ..\..\..\..\wingetopt\src;..\..\..\..\include;..\..\..\..\opensea-common\include;..\..\..\..\libjson;..\..\..\..\opensea-parser\include;..\..\..\..\opensea-parser\include\Seagate;..\..\..\..\utils\include 350 | 351 | 352 | 353 | _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;BUILD_FARM_ONLY;INCLUDE_FARM_LOG 354 | MultiThreaded 355 | stdcpp20 356 | /Zc:__cplusplus %(AdditionalOptions) 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | -------------------------------------------------------------------------------- /Make/VS.2022/openSeaChest_LogParser/openSeaChest_LogParser_FARM/openSeaChest_LogParser_FARM.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Header Files 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /Make/gcc/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Do NOT modify or remove this copyright and license 3 | # 4 | # Copyright (c) 2014 - 2020 Seagate Technology LLC and/or its Affiliates, All Rights Reserved 5 | # 6 | # This software is subject to the terms of the Mozilla Public 7 | # License, v. 2.0. If a copy of the MPL was not distributed with this 8 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | # 10 | # ****************************************************************************************** 11 | # 12 | # Hand Written Makefile (Edit with caution) -Muhammad 13 | # 14 | NAME=openSeaChest_LogParser 15 | #Change the Major version when major interface changes are made. 16 | MAJOR=0 17 | #Change the Minor version when new features are added. 18 | MINOR=2 19 | #Change the patch version when only bug fixes are made. 20 | PATCH=4 21 | 22 | 23 | UTIL_SRC_DIR=../../utils/src 24 | UTIL_DIR=../../src 25 | CXX ?= g++ 26 | STRIP ?= strip 27 | TOOL_CHAIN=gcc 28 | LIB_FILE_OUTPUT_DIR=lib 29 | CXXFLAGS = -Wall -Wextra -Werror=old-style-cast -Wshadow -Wmaybe-uninitialized -Wvla -Wfloat-equal \ 30 | -Wlogical-op -Wdouble-promotion -Wformat-security -std=c++11 31 | CFLAGS ?= -Wall -Wextra 32 | ARCHIVE ?= ar 33 | ARCH=x86_$(shell getconf LONG_BIT) 34 | 35 | LFLAGS = \ 36 | ../../libjson/libjson.a \ 37 | ../../opensea-parser/Make/$(TOOL_CHAIN)/$(LIB_FILE_OUTPUT_DIR)/libopensea-parser.a \ 38 | ../../opensea-common/Make/$(TOOL_CHAIN)/$(LIB_FILE_OUTPUT_DIR)/libopensea-common.a \ 39 | 40 | 41 | INC_DIR= \ 42 | -I../../utils/include \ 43 | -I../../opensea-common/include \ 44 | -I../../opensea-parser/include \ 45 | -I../../opensea-parser/include/Seagate\ 46 | -I../../libjson 47 | 48 | MACHINE := $(shell uname -m) 49 | ifeq ($(MACHINE), x86_64) 50 | 51 | endif 52 | 53 | OS := $(shell uname) 54 | ifeq ($(OS),Darwin) 55 | # Run MacOS commands 56 | else 57 | LFLAGS += -lrt 58 | endif 59 | 60 | #Add more warnings for the GCC versions that support them 61 | #gcc 5.5 and up : -Wlogical-not-parentheses 62 | # 6.5 and up : -Wnull-dereference -Wduplicated-cond -Wshift-overflow=2 63 | ifeq ($(UNAME),Linux) 64 | GCC_VERSION_STRING = $(shell $(CC) -dumpversion) 65 | GCC_VER = $(subst ., ,$(GCC_VERSION_STRING)) 66 | GCC_MAJOR = $(word 1,$(GCC_VER)) 67 | GCC_MINOR = $(word 2,$(GCC_VER)) 68 | GCC_SUBMINOR = $(word 3,$(GCC_VER)) 69 | ifeq ($(GCC_MINOR),) 70 | GCC_MINOR = 0 71 | endif 72 | ifeq ($(GCC_SUBMINOR),) 73 | GCC_SUBMINOR = 0 74 | endif 75 | ifeq ($(shell test $(GCC_MAJOR) -gt 4; echo $$?),0) 76 | ifeq ($(shell test $(GCC_MINOR) -gt 4; echo $$?),0) 77 | CXXFLAGS += -Wlogical-not-parentheses 78 | endif 79 | endif 80 | ifeq ($(shell test $(GCC_MAJOR) -gt 5; echo $$?),0) 81 | ifeq ($(shell test $(GCC_MINOR) -gt 4; echo $$?),0) 82 | CXXFLAGS += -Wnull-dereference -Wduplicated-cond -Wshift-overflow=2 83 | endif 84 | endif 85 | endif 86 | 87 | #Files for the final binary 88 | SOURCES = $(UTIL_DIR)/openSeaChest_LogParser.cpp\ 89 | $(UTIL_SRC_DIR)/EULA.cpp\ 90 | $(UTIL_SRC_DIR)/parser_print_util_options.cpp\ 91 | $(UTIL_SRC_DIR)/seachest_parser_util_options.cpp\ 92 | 93 | OUTFILE = openSeaChest_LogParser_$(ARCH) 94 | FARM_OUTFILE = openSeaChest_LogParser_FARM_$(ARCH) 95 | OBJS = $(SOURCES:.cpp=.o) 96 | 97 | #add any defines needed for tool release. 98 | PROJECT_DEFINES = -DSEACHEST\ 99 | -DDISABLE_NVME_PASSTHROUGH\ 100 | -DINCLUDE_FARM_LOG\ 101 | -DINCLUDE_ERROR_LOG\ 102 | -DINCLUDE_DEVICE_STATISTICS_LOG\ 103 | -DINCLUDE_EXT_COMPREHENSIVE_LOG\ 104 | -DINCLUDE_COMMON_EXT_DST_LOG\ 105 | -DINCLUDE_POWER_CONDITION_LOG\ 106 | -DINCLUDE_IDENTIFY_LOG\ 107 | -DINCLUDE_IDENTIFY_DEVICE_DATA_LOG\ 108 | -DINCLUDE_SCT_TEMP_LOG\ 109 | -DINCLUDE_NCQ_CMD_ERROR_LOG\ 110 | -DINCLUDE_SCSI_LOG_PAGES\ 111 | 112 | .PHONY: all 113 | 114 | farm: PROJECT_DEFINES += -DBUILD_FARM_ONLY 115 | 116 | debug: CXXFLAGS += -g 117 | debug: CFLAGS += -g 118 | debug: PROJECT_DEFINES += -D_DEBUG 119 | debug: OUTFILE := $(OUTFILE)_dbg 120 | debug: $(OUTFILE) 121 | 122 | release: CXXFLAGS += -O3 123 | release: CFLAGS += -O3 124 | release: $(OUTFILE) 125 | 126 | export CFLAGS 127 | export CXXFLAGS 128 | export PROJECT_DEFINES 129 | 130 | all: clean debug 131 | 132 | seaclibs: 133 | $(MAKE) -C ../../opensea-common/Make/$(TOOL_CHAIN) 134 | 135 | opensea-parser: 136 | $(MAKE) -C ../../opensea-parser/Make/$(TOOL_CHAIN) 137 | 138 | libjson: 139 | $(MAKE) -C ../../libjson/ CXXFLAGS='' 140 | 141 | $(OUTFILE): clean libjson seaclibs opensea-parser $(OBJS) done 142 | $(CXX) $(INC_DIR) $(CXXFLAGS) $(PROJECT_DEFINES) $(OBJS) -o $@ $(LFLAGS) 143 | 144 | %.o: %.cpp 145 | $(CXX) -c $(CXXFLAGS) $(INC_DIR) $(PROJECT_DEFINES) $< -o $@ 146 | 147 | static: release 148 | $(CXX) $(INC_DIR) $(PROJECT_DEFINES) $(OBJS) -static -o $(OUTFILE)_static $(LFLAGS) 149 | 150 | strip: 151 | $(STRIP) -s $(OUTFILE) -o $(OUTFILE)__stripped 152 | 153 | 154 | farm: clean release 155 | mv $(OUTFILE) $(FARM_OUTFILE) 156 | clean: banner 157 | rm -f *.o *.a openSeaChest_LogParser* 158 | rm -f $(UTIL_SRC_DIR)/*.o 159 | rm -f $(UTIL_SRC_DIR)/utils/*.o 160 | rm -f $(UTIL_DIR)/*.o 161 | @echo "============================================================" 162 | @echo " CLEANED" 163 | @echo "============================================================" 164 | 165 | clean_all: clean 166 | $(MAKE) -C ../../opensea-common/Make/$(TOOL_CHAIN) clean 167 | $(MAKE) -C ../../opensea-parser/Make/$(TOOL_CHAIN) clean 168 | $(MAKE) -C ../../libjson/ clean CXXFLAGS='' 169 | 170 | banner: 171 | @echo "============================================================" 172 | @echo "openSeaChest_LogParser Makefile version: "$(MAJOR).$(MINOR).$(PATCH) "OS: "$(OS) 173 | @echo "============================================================" 174 | 175 | done: 176 | @echo "============================================================" 177 | @echo "Build of openSeaChest-LogParser has completed " 178 | @echo "============================================================" 179 | 180 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # openSeaChest Security Policy 2 | 3 | We take security seriously. If you find any security vulnerabilities in any of the source code, please report it to us as described below. 4 | 5 | ## Reporting Security Issues 6 | 7 | :warning: **Please do not publicly report any security vulnerabilities via GitHub issues.** 8 | 9 | If you have questions or general concerns, please email us at [opensea-build@seagate.com](mailto: opensea-build@seagate.com). 10 | 11 | To report an actual vulnerability, please use the form available at "[Seagate Responsible Vulnerability Disclosure Policy](https://www.seagate.com/legal-privacy/responsible-vulnerability-disclosure-policy/)" 12 | 13 | ### Reporting Format 14 | 15 | To make your reporting meaningful and help us understand the nature and scope of the issue, please include as much information as possible. 16 | 17 | ### Preferred Languages 18 | 19 | We prefer all communications to be in English. 20 | -------------------------------------------------------------------------------- /docs/FARM Specification.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seagate/openSeaChest_LogParser/3c5380cbc713a5dc026522bb198784ec64614826/docs/FARM Specification.pdf -------------------------------------------------------------------------------- /docs/man/man8/openSeaChest_LogParser.8: -------------------------------------------------------------------------------- 1 | .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. 2 | .\" Assuming you have the man tool installed, you can read this file directly with 3 | .\" man ./openSeaChest_.8 4 | .\" System administration man pages are kept in the man8 folder. Use the manpath tool 5 | .\" to determine the location of man pages on your system. Your favorite Linux system 6 | .\" probably has man8 pages stored at: 7 | .\" /usr/local/share/man/man8 8 | .\" or 9 | .\" /usr/share/man/man8 10 | .\" 11 | .\" If you want to use them then just copy to one of the above folders and they will 12 | .\" be found. Just type: 13 | .\" man openSeaChest_ 14 | .ad l 15 | .TH OPENSEACHEST_LOGPARSER "8" "March 2019" "openSeaChest_Utilities" "System Administration Utilities" 16 | .SH NAME 17 | openSeaChest_LogParser 18 | .SH DESCRIPTION 19 | ========================================================================================== 20 | .br 21 | openSeaChest_LogParser \- Seagate drive utilities 22 | .br 23 | Copyright (c) 2014\-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved 24 | .br 25 | openSeaChest_LogParser Version: 1.0.1\-0.1.1 X86_64 26 | .br 27 | Build Date: Mar 18 2019 28 | .br 29 | ========================================================================================== 30 | .PP 31 | Usage 32 | .br 33 | ===== 34 | .IP 35 | openSeaChest_LogParser {arguments} {options} 36 | 37 | .PP 38 | Example 39 | .br 40 | ======== 41 | .IP 42 | openSeaChest_LogParser \fB\-\-inputLog\fR \fB\-\-logType\fR farmLog \fB\-\-printType\fR json \fB\-\-outputLog\fR 43 | 44 | .PP 45 | Utility Arguments 46 | .br 47 | ================= 48 | 49 | .HP 50 | \fB\-\-inputLog [log file name]\fR 51 | .IP 52 | Use this option to pass a log into the tool for parsing. 53 | .HP 54 | \fB\-\-logType [choose from list below]\fR 55 | .IP 56 | { farmLog, identify, IDDataLog, deviceStatisticsLog, extCompErrorLog 57 | .br 58 | sctTempLog, ncqErrorLog, powerConditionLog, extSelfTestLog, scsiLogPages } 59 | .br 60 | Use this option to describe the type of log that is being passed in. 61 | .IP 62 | SCSI Log Pages List: 63 | .IP 64 | Application Client, Background Scan, Cache Statistics 65 | .br 66 | Background Operation, Environmental Reporting (Coming soon) 67 | .br 68 | Factory Log, Environmental Limits (Coming soon) 69 | .br 70 | Write Log Page, Read Log Page, Verify Log Page 71 | .br 72 | Informational Exceptions, Format Status, DST Log Page 73 | .br 74 | Non-Medium Error, Logical Block Provisioning 75 | .br 76 | Power Conditions, Pending Defects, Protocol Page 77 | .br 78 | Start Stop Cycle Page, Solid State Media (Coming soon) 79 | .br 80 | Supported Log Pages and Subpages, Supported Log Pages 81 | .br 82 | Temperature Log Page, Utilization (Coming soon) 83 | 84 | .HP 85 | \fB\-\-showStatusBits\fR 86 | .IP 87 | Command Line Option for the FARM Log ONLY 88 | .br 89 | Use this option to set the parser to gather the status bytes for each field. 90 | .br 91 | For each field the Supported byte will show TRUE or FALSE 92 | .br 93 | For each field the Valid byte will show TRUE or FALSE 94 | .br 95 | Device Information will not show status bytes. 96 | 97 | .HP 98 | \fB\-\-outputLog [log file name]\fR 99 | .IP 100 | To set a name of the output file being generated. This option will overwrite 101 | file if it exists. 102 | .br 103 | If no --outputFile given then data will be printed to the screen. 104 | 105 | .HP 106 | \fB\-\-printType [choose from list below]\fR 107 | .IP 108 | {json, text, csv, flatcsv} 109 | .br 110 | Use this option to set the output format. 111 | .br 112 | 113 | json - prints the data in a printable json format 114 | .br 115 | text - prints the data in a printable and human readable format 116 | .br 117 | csv - The data flows downwards 118 | .br 119 | flatcsv - The data is set to flow in two rows only 120 | 121 | .PP 122 | Utility Options 123 | .br 124 | =============== 125 | .HP 126 | \fB\-\-echoCommandLine\fR 127 | .IP 128 | Echo the command line entered into the utility on the screen. 129 | .HP 130 | \fB\-h\fR, \fB\-\-help\fR 131 | .IP 132 | Show utility options and example usage (this output you see now) 133 | Please report bugs/suggestions to seaboard@seagate.com. 134 | Include the output of \fB\-\-version\fR information in the email. 135 | .HP 136 | \fB\-\-license\fR 137 | .IP 138 | Display the Seagate End User License Agreement (EULA). 139 | .HP 140 | \fB\-v\fR [0\-4], \fB\-\-verbose\fR [0 | 1 | 2 | 3 | 4] 141 | .IP 142 | Show verbose information. Verbosity levels are: 143 | .br 144 | 0 \- quiet 145 | .br 146 | 1 \- default 147 | .br 148 | 2 \- command descriptions 149 | .br 150 | 3 \- command descriptions and values 151 | .br 152 | 4 \- command descriptions, values, and data buffers 153 | .br 154 | Example: \fB\-v\fR 3 or \fB\-\-verbose\fR 3 155 | .HP 156 | \fB\-V\fR, \fB\-\-version\fR 157 | .IP 158 | Show openSeaChest_Info version and copyright information & exit 159 | .PP 160 | Return codes 161 | .br 162 | ============ 163 | .IP 164 | Generic/Common exit codes 165 | .br 166 | 0 = No Error Found 167 | .br 168 | 1 = Error in command line options 169 | .br 170 | 2 = Invalid Device Handle or Missing Device Handle 171 | .br 172 | 3 = Operation Failure 173 | .br 174 | 4 = Operation not supported 175 | .br 176 | 5 = Operation Failed and was still in progress 177 | .br 178 | 6 = Operation Aborted 179 | .br 180 | 7 = Operation Failed for Bad Parameter in the log 181 | .br 182 | 8 = Operation had Memory Failures 183 | .br 184 | 9 = Operation Failed for Invalid Lengths in the log 185 | .br 186 | 10 = File Path Not Found 187 | .br 188 | 11 = Cannot Open File 189 | .br 190 | 12 = File Already Exists 191 | .br 192 | 13 = Not Valid for this parser 193 | .br 194 | Anything else = unknown error 195 | 196 | .PP 197 | .PP 198 | .br 199 | ========================================================================================== 200 | .br 201 | openSeaChest_LogParser \- Seagate drive utilities 202 | .br 203 | Copyright (c) 2014\-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved 204 | .br 205 | ========================================================================================== 206 | .br 207 | Version Info for openSeaChest_LogParser: 208 | .IP 209 | Utility Version: 1.0.1 210 | .br 211 | opensea\-parser library Version: 0.1.1 212 | .br 213 | Build Date: Mar 18 2019 214 | .br 215 | Compiled Architecture: X86_64 216 | .br 217 | Detected Endianness: Little Endian 218 | .br 219 | Compiler Used: GCC 220 | .br 221 | Compiler Version: 4.4.7 222 | .br 223 | Operating System Type: Linux 224 | .br 225 | Operating System Version: 4.14.10\-0 226 | .br 227 | Operating System Name: TinyCoreLinux 9.0 228 | .br 229 | Edition: JBOD, NVMe 230 | .br 231 | RAID Support: none 232 | .SH "REPORTING BUGS" 233 | Please report bugs/suggestions to seaboard at seagate dot com. Include the output of 234 | \fB\-\--version\fR information in the email. See the user guide section 'General Usage 235 | Hints' for information about saving output to a log file. 236 | 237 | .SH COPYRIGHT 238 | Copyright \(co 2014\-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved 239 | .br 240 | BINARIES and SOURCE CODE files of the openSeaChest open source project have 241 | been made available to you under the Mozilla Public License 2.0 (MPL). Mozilla 242 | is the custodian of the Mozilla Public License ("MPL"), an open source/free 243 | software license. 244 | .br 245 | https://www.mozilla.org/en-US/MPL/ 246 | .br 247 | You 248 | can run 249 | the command option \fB\-\--license\fR to display the agreement and acknowledgements of various open 250 | source tools and projects used with SeaChest Utilities. 251 | .PP 252 | This software uses open source packages obtained with permission from the 253 | relevant parties. For a complete list of open source components, sources and 254 | licenses, please see our Linux USB Boot Maker Utility FAQ for additional 255 | information. 256 | .PP 257 | SeaChest Utilities use libraries from the opensea source code projects. These 258 | projects are maintained at http://github.com/seagate. 259 | The libraries in use are opensea-common, opensea-transport and 260 | opensea-operations. These libraries are available under the Mozilla Public 261 | License 2.0.License 2.0. 262 | 263 | 264 | .SH WEB SITE 265 | There are web pages discussing this software at 266 | .br 267 | https://github.com/Seagate/openSeaChest 268 | .SH "SEE ALSO" 269 | .B openSeaChest_Basics, openSeaChest_Configure, openSeaChest_Erase, openSeaChest_Firmware, openSeaChest_Format, openSeaChest_GenericTests, openSeaChest_Info, openSeaChest_Logs, openSeaChest_PowerControl, openSeaChest_SMART 270 | 271 | The full documentation and version history for 272 | .B openSeaChest_LogParser 273 | is maintained as a simple text file with this name: 274 | .br 275 | .B openSeaChest_LogParser..txt 276 | The number part of the name will change with each revision. 277 | .br 278 | The command 279 | .IP 280 | .B less /openSeaChest_LogParser..txt 281 | .PP 282 | should give you access to the complete manual. 283 | -------------------------------------------------------------------------------- /example/OpenSeaChest_FARM_Log_Pull-Parser.sh: -------------------------------------------------------------------------------- 1 | #Example for running OpenSeaChest_Logs and OpenSeaChest_LogParser together on one cmd line 2 | 3 | sudo ./openSeaChest_Logs -d /dev/sg? --farm --logMode pipe | ./openSeaChest_LogParser_x86_64 --inputLog fromPipe --logType farmLog --printType json 4 | 5 | -------------------------------------------------------------------------------- /example/OpenSeaChest_LogParser_Readme.txt: -------------------------------------------------------------------------------- 1 | 15 4611686018427387903 2 | ./openSeaChest_LogParser_x86_64 3 | -h 4 | =============================================================================== 5 | openSeaChest_LogParser - Seagate drive utilities 6 | Copyright (c) 2018-2020 Seagate Technology LLC and/or its Affiliates 7 | openSeaChest_LogParser Version: 1.3.2-2.0.1 X86_64 8 | Build Date: Jun 16 2022 9 | Today: Thu Jul 7 14:38:58 2022 10 | =============================================================================== 11 | Usage 12 | ===== 13 | openSeaChest_LogParser {arguments} {options} 14 | 15 | Examples 16 | ======== 17 | openSeaChest_LogParser --inputLog --logType farmLog --printType json --outputLog 18 | 19 | Return Codes 20 | ============ 21 | Generic/Common error codes 22 | 0 = No Error Found 23 | 1 = Error in command line options 24 | 2 = Invalid Device Handle or Missing Device Handle 25 | 3 = Operation Failure 26 | 4 = Operation not supported 27 | 5 = Operation Failed and was still in progress 28 | 6 = Operation Aborted 29 | 7 = Operation Failed for Bad Parameter in the log 30 | 8 = Operation had Memory Failures 31 | 9 = Operation Failed for Invaild Lengths in the log 32 | 10 = File Path Not Found 33 | 11 = Cannot Open File 34 | 12 = File Already Exists 35 | 13 = Not Valid for this parser 36 | 20 = Validation Failed 37 | 21 = Error in Header and Footer validation 38 | 22 = Parsing Failure 39 | Anything else = unknown error 40 | 41 | Utility Arguments 42 | ================= 43 | --inputLog [log file name] 44 | Use this option to pass a log into the tool for parsing. 45 | Use --inputLog option to pass a farm log buffer into the tool for parsing. 46 | 47 | --logType [choose from list below] 48 | { farmLog, identify, IDDataLog, deviceStatisticsLog, extCompErrorLog 49 | sctTempLog, ncqErrorLog, powerConditionLog, extSelfTestLog 50 | scsiLogPages } 51 | 52 | Use this option to describe the type of log that is being passed in. 53 | 54 | SCSI Log Pages List - 55 | Application Client, Background Scan, Cache Statistics 56 | Background Operation, Environmental Reporting (Coming soon) 57 | Factory Log, Environmental Limits (Coming soon) 58 | Write Log Page, Read Log Page, Verify Log Page 59 | Informational Exceptions, Format Status, DST Log Page 60 | Non-Medium Error, Logical Block Provisioning 61 | Power Conditions, Pending Defects, Protocol Page 62 | Start Stop Cycle Page, Solid State Media (Coming soon) 63 | Supported Log Pages and Subpages, Supported Log Pages 64 | Temperature Log Page, Utilization (Coming soon) 65 | 66 | --showStatusBits 67 | Command Line Option for the FARM Log ONLY 68 | Use this option to set the parser to gather the status bytes for each field. 69 | For each field the Supported byte will show TRUE or FALSE 70 | For each field the Valid byte will show TRUE or FALSE 71 | Device Information will not show status bytes. 72 | 73 | --outputLog [log file name] 74 | To set a name of the output file being generated. This option will overwrite 75 | file if it exists. 76 | If no --outputLog given then data will be printed to the screen. 77 | 78 | --printType [choose from list below] 79 | {json, text, csv, flatcsv, prom} 80 | Use this option to set the output format. 81 | 82 | json - prints the data in a printable json format 83 | text - prints the data in a printable and human readable format 84 | csv - The data flows downwards 85 | flatcsv - The data is set to flow in two rows only 86 | prom - Prints the data in a format readable by Prometheus. 87 | 88 | If no output log is specified (with --outputLog), data is printed 89 | out to standard output and a file is automatically created. 90 | The output file will have the same name as the input file 91 | with the extension ".prom" which can be opened in any text editor. 92 | 93 | If an output log is specified (with --outputLog), data is printed 94 | directly to the specified file. 95 | 96 | [USAGE EXAMPLES] 97 | openSeaChest_LogParser --inputLog .bin --logType farmLog --printType prom 98 | Takes in a FARM log, .bin, prints the data in Prometheus' format 99 | to standard output, and saves the output in the current directory as .prom. 100 | 101 | openSeaChest_LogParser --inputLog .bin --logType farmLog --printType prom --outputLog .prom 102 | Takes in a FARM log, .bin, and saves the output in the current directory 103 | .prom without printing to standard output. 104 | 105 | 106 | Utility Options 107 | =============== 108 | --echoCommandLine 109 | Shows the command line above the banner in the statndard ouput. 110 | Useful when saving output to logs 111 | 112 | -h, --help 113 | Show utility options and example usage (this output you see now) 114 | 115 | --license 116 | Display the Seagate End User License Agreement (EULA). 117 | 118 | -v [0-4], --verbose [0 | 1 | 2 | 3 | 4] 119 | Show verbose information. Verbosity levels are: 120 | 0 - quiet 121 | 1 - default 122 | 2 - command descriptions 123 | 3 - command descriptions and values 124 | Example: -v 3 or --verbose 3 125 | 126 | -V, --version 127 | Show openSeaChest_LogParser version and copyright information & exit 128 | 129 | 130 | -------------------------------------------------------------------------------- /example/OpenSeaChest_Logs_Readme.txt: -------------------------------------------------------------------------------- 1 | ========================================================================================== 2 | openSeaChest_Logs - openSeaChest drive utilities - NVMe Enabled 3 | Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved 4 | openSeaChest_Logs Version: 2.0.3-3_0_0 X86_64 5 | Build Date: Jun 21 2022 6 | Today: Thu Jul 7 14:37:52 2022 User: root 7 | ========================================================================================== 8 | Usage 9 | ===== 10 | openSeaChest_Logs [-d ] {arguments} {options} 11 | 12 | Examples 13 | ======== 14 | openSeaChest_Logs --scan 15 | openSeaChest_Logs -d /dev/sg? -i 16 | openSeaChest_Logs -d /dev/sg? --farm --outputPath logs 17 | 18 | Return codes 19 | ============ 20 | Generic/Common exit codes 21 | 0 = No Error Found 22 | 1 = Error in command line options 23 | 2 = Invalid Device Handle or Missing Device Handle 24 | 3 = Operation Failure 25 | 4 = Operation not supported 26 | 5 = Operation Aborted 27 | 6 = File Path Not Found 28 | 7 = Cannot Open File 29 | 8 = File Already Exists 30 | 9 = Need Elevated Privileges 31 | Anything else = unknown error 32 | 33 | 34 | Utility Options 35 | =============== 36 | --echoCommandLine 37 | Echo the command line entered into the utility on the screen. 38 | 39 | --enableLegacyUSBPassthrough 40 | Only use this option on old USB or IEEE1394 (Firewire) 41 | products that do not otherwise work with the tool. 42 | This option will enable a trial and error method that 43 | attempts sending various ATA Identify commands through 44 | vendor specific means. Because of this, certain products 45 | that may respond in unintended ways since they may interpret 46 | these commands differently than the bridge chip the command 47 | was designed for. 48 | 49 | --forceATA 50 | Using this option will force the current drive to 51 | be treated as a ATA drive. Only ATA commands will 52 | be used to talk to the drive. 53 | 54 | --forceATADMA (SATA Only) 55 | Using this option will force the tool to issue SAT 56 | commands to ATA device using the protocol set to DMA 57 | whenever possible (on DMA commands). 58 | This option can be combined with --forceATA 59 | 60 | --forceATAPIO (SATA Only) 61 | Using this option will force the tool to issue PIO 62 | commands to ATA device when possible. This option can 63 | be combined with --forceATA 64 | 65 | --forceATAUDMA (SATA Only) 66 | Using this option will force the tool to issue SAT 67 | commands to ATA device using the protocol set to UDMA 68 | whenever possible (on DMA commands). 69 | This option can be combined with --forceATA 70 | 71 | --forceSCSI 72 | Using this option will force the current drive to 73 | be treated as a SCSI drive. Only SCSI commands will 74 | be used to talk to the drive. 75 | 76 | -h, --help 77 | Show utility options and example usage (this output you see now) 78 | Please report bugs/suggestions to seaboard@seagate.com. 79 | Include the output of --version information in the email. 80 | 81 | --license 82 | Display the Seagate End User License Agreement (EULA). 83 | 84 | --modelMatch [model Number] 85 | Use this option to run on all drives matching the provided 86 | model number. This option will provide a closest match although 87 | an exact match is preferred. Ex: ST500 will match ST500LM0001 88 | 89 | --noBanner 90 | Use this option to suppress the text banner that displays each time 91 | openSeaChest is run. 92 | 93 | --onlyFW [firmware revision] 94 | Use this option to run on all drives matching the provided 95 | firmware revision. This option will only do an exact match. 96 | 97 | --onlySeagate 98 | Use this option to match only Seagate drives for the options 99 | provided 100 | 101 | --outputPath [folder] 102 | To set a path to the directory/folder where all logs should be created. 103 | The directory/folder must already exist with write permissions 104 | If this option is not used, logs are created in the current working folder 105 | 106 | -q, --quiet 107 | Run openSeaChest_Logs in quiet mode. This is the same as 108 | -v 0 or --verbose 0 109 | 110 | -v [0-4], --verbose [0 | 1 | 2 | 3 | 4] 111 | Show verbose information. Verbosity levels are: 112 | 0 - quiet 113 | 1 - default 114 | 2 - command descriptions 115 | 3 - command descriptions and values 116 | 4 - command descriptions, values, and data buffers 117 | Example: -v 3 or --verbose 3 118 | 119 | -V, --version 120 | Show openSeaChest_Logs version and copyright information & exit 121 | 122 | 123 | Utility Arguments 124 | ================= 125 | -d, --device deviceHandle 126 | Use this option with most commands to specify the device 127 | handle on which to perform an operation. Example: /dev/sg? 128 | 129 | -F, --scanFlags [option list] 130 | Use this option to control the output from scan with the 131 | options listed below. Multiple options can be combined. 132 | ata - show only ATA (SATA) devices 133 | usb - show only USB devices 134 | scsi - show only SCSI (SAS) devices 135 | nvme - show only NVMe devices 136 | interfaceATA - show devices on an ATA interface 137 | interfaceUSB - show devices on a USB interface 138 | interfaceSCSI - show devices on a SCSI or SAS interface 139 | interfaceNVME = show devices on an NVMe interface 140 | sd - show sd device handles 141 | sgtosd - show the sd and sg device handle mapping 142 | 143 | -i, --deviceInfo 144 | Show information and features for the storage device 145 | 146 | -s, --scan 147 | Scan the system and list all storage devices with logical 148 | /dev/sg? assignments. Shows model, serial and firmware 149 | numbers. If your device is not listed on a scan immediately 150 | after booting, then wait 10 seconds and run it again. 151 | 152 | -S, --Scan 153 | This option is the same as --scan or -s, 154 | however it will also perform a low level rescan to pick up 155 | other devices. This low level rescan may wake devices from low 156 | power states and may cause the OS to re-enumerate them. 157 | Use this option when a device is plugged in and not discovered in 158 | a normal scan. 159 | NOTE: A low-level rescan may not be available on all interfaces or 160 | all OSs. The low-level rescan is not guaranteed to find additional 161 | devices in the system when the device is unable to come to a ready state. 162 | 163 | --SATInfo 164 | Displays SATA device information on any interface 165 | using both SCSI Inquiry / VPD / Log reported data 166 | (translated according to SAT) and the ATA Identify / Log 167 | reported data. 168 | 169 | --testUnitReady 170 | Issues a SCSI Test Unit Ready command and displays the 171 | status. If the drive is not ready, the sense key, asc, 172 | ascq, and fru will be displayed and a human readable 173 | translation from the SPC spec will be displayed if one 174 | is available. 175 | 176 | 177 | --deviceStatisticsLog 178 | This option will pull the Device Statistics Log 179 | from a device. 180 | 181 | --farm 182 | Pull the Seagate Field Accessible Reliability Metrics (FARM) 183 | Log from the specified drive.Saves the binary logs to the 184 | current directory as FARM.bin 185 | 186 | --listSupportedLogs 187 | Displays a list of all supported logs by this device type. 188 | 189 | --logMode [mode] 190 | Sets the mode to pull the log. 191 | Use this option with --pullLog to set the desired mode 192 | raw - Pulls log & prints it to the 193 | screen as stdout. (default) 194 | bin - Pulls log & saves it to 195 | a timestamped binary file. 196 | pipe - Pulls log, prints it to the 197 | screen as stdout & send the 198 | result to openSeaChest_LogParser. 199 | (available for FARM only) 200 | 201 | --logTransferLength [length in bytes] 202 | Use this option to specify the data transfer 203 | length for a log transfer. 204 | Larger transfer sizes may speed up log retrieval at the 205 | loss of compatibility. 206 | The following post fixes are allowed for 207 | specifying a transfer length: 208 | BLOCKS or SECTORS - used to specify a transfer length 209 | in device in 512Byte blocks/sectors 210 | KB - length in kilobytes (val * 1000) 211 | KiB - length in kibibytes (val * 1024) 212 | MB - length in megabytes (val * 1000000) 213 | MiB - length in mebibytes (val * 1048576) 214 | ATA drives must be given a value in 512B increments. 215 | Warning: Specifying a large size may result in 216 | failures due to OS, driver, or HBA/bridge specific limitations. 217 | 218 | --pullLog [Log Number] 219 | Pulls specific log number from the device 220 | [Log Number] is required argument & can be passed 221 | as an decimal or hex value. 222 | WARNING: Vendor Unique Logs pulled using this option 223 | may not be valid due to unknown vendor unique 224 | bits in ATA/SCSI/NVMe etc. command fields. 225 | 226 | --selfTestLog 227 | This option will pull the self test results log 228 | from a device. On ATA drives, this will pull the 229 | extended SMART self tests result log when it is 230 | supported by the device. 231 | 232 | 233 | SATA Only: 234 | 235 | --identifyDataLog (SATA only) 236 | This option will pull the Identify Device data 237 | log from an ATA drive. 238 | 239 | --SATAPhyCntLog (SATA only) 240 | This option will pull the SATA Phy Event Counters 241 | log from a SATA drive. 242 | 243 | 244 | SAS Only: 245 | 246 | --listErrorHistoryIDs (SAS Only) 247 | Displays a list of all supported error history buffer IDs 248 | supported by the device. 249 | 250 | --pullErrorHistoryID [Buffer ID] (SAS Only) 251 | Pulls specific error history buffer ID from the device 252 | [Buffer ID] is required argument & can be passed 253 | as an decimal or hex value. 254 | WARNING: Vendor Unique Logs pulled using this option 255 | may not be valid due to unknown vendor unique 256 | bits in ATA/SCSI/NVMe etc. command fields. 257 | 258 | --infoExceptionsLog (SAS only) 259 | This option will pull the SCSI Informational 260 | Exceptions log page from a SCSI device. 261 | 262 | --pullSubpage [Subpage Number] (SAS Only) 263 | Use this option with the --pullLog option to specify 264 | a log subpage to pull. Use this for SCSI Logs. 265 | [Subpage Number] can be passed as an decimal or hex value. 266 | WARNING: Vendor Unique Logs pulled using this option 267 | may not be valid due to unknown vendor unique 268 | bits in ATA/SCSI/NVMe etc. command fields. 269 | 270 | 271 | -------------------------------------------------------------------------------- /utils/include/EULA.h: -------------------------------------------------------------------------------- 1 | // 2 | // EULA.h 3 | // 4 | // Copyright (c) 2014-2020 Seagate Technology LLC and/or its Affiliates, All Rights Reserved 5 | // 6 | // This software is subject to the terms of the Mozilla Public 7 | // License, v. 2.0. If a copy of the MPL was not distributed with this 8 | // file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | // 10 | // ****************************************************************************************** 11 | // \file EULA.h 12 | // \brief This file defines the a function to print the EULA for the license option in a tool 13 | 14 | #pragma once 15 | 16 | #if defined (__cplusplus) 17 | extern "C" 18 | { 19 | #endif 20 | 21 | #include 22 | 23 | //----------------------------------------------------------------------------- 24 | // 25 | // print_EULA_To_Screen(int showApacheLicense, int showZlibLicense) 26 | // 27 | //! \brief Description: Print the EULA to the screen 28 | // 29 | // Entry: 30 | //! \param showApacheLicense = set to non-zero value to print out the Apache 2.0 license (needed if using mbedtls/encryption - fwdl config file) 31 | //! \param showZlibLicesne = set to non-zero value to print out the ZLib license (needed if using zlib/compression - fwdl config file) 32 | //! 33 | // Exit: 34 | //! \return VOID 35 | // 36 | //----------------------------------------------------------------------------- 37 | void print_EULA_To_Screen(int showApacheLicense, int showZlibLicense); 38 | 39 | //----------------------------------------------------------------------------- 40 | // 41 | // print_Open_Source_Licenses(int showApacheLicense, int showZlibLicense) 42 | // 43 | //! \brief Description: Print the open source licenses to the screen 44 | // 45 | // Entry: 46 | //! \param showApacheLicense = set to non-zero value to print out the Apache 2.0 license (needed if using mbedtls/encryption - fwdl config file) 47 | //! \param showZlibLicesne = set to non-zero value to print out the ZLib license (needed if using zlib/compression - fwdl config file) 48 | //! 49 | // Exit: 50 | //! \return VOID 51 | // 52 | //----------------------------------------------------------------------------- 53 | void print_Open_Source_Licenses(int showApacheLicense, int showZlibLicense); 54 | 55 | //----------------------------------------------------------------------------- 56 | // 57 | // print_GNU_LGPL_License() 58 | // 59 | //! \brief Description: Print the GNU LGPL license to the screen 60 | // 61 | // Entry: 62 | //! 63 | // Exit: 64 | //! \return VOID 65 | // 66 | //----------------------------------------------------------------------------- 67 | void print_GNU_LGPL_License(); 68 | 69 | //----------------------------------------------------------------------------- 70 | // 71 | // print_Apache_2_0_License() 72 | // 73 | //! \brief Description: Print the Apache 2.0 license to the screen (for mbedtls) 74 | // 75 | // Entry: 76 | //! 77 | // Exit: 78 | //! \return VOID 79 | // 80 | //----------------------------------------------------------------------------- 81 | void print_Apache_2_0_License(); 82 | 83 | //----------------------------------------------------------------------------- 84 | // 85 | // print_Zlib_License() 86 | // 87 | //! \brief Description: Print the ZLib license to the screen 88 | // 89 | // Entry: 90 | //! 91 | // Exit: 92 | //! \return VOID 93 | // 94 | //----------------------------------------------------------------------------- 95 | void print_Zlib_License(); 96 | 97 | //----------------------------------------------------------------------------- 98 | // 99 | // print_Win_Getopt_Licenses() 100 | // 101 | //! \brief Description: Print the Win Getopt project license to the screen 102 | // 103 | // Entry: 104 | //! 105 | // Exit: 106 | //! \return VOID 107 | // 108 | //----------------------------------------------------------------------------- 109 | void print_Win_Getopt_Licenses(); 110 | //----------------------------------------------------------------------------- 111 | // 112 | // print_LibJson_Licenses()() 113 | // 114 | //! \brief Description: Print the Lib Json project license to the screen 115 | // 116 | // Entry: 117 | //! 118 | // Exit: 119 | //! \return VOID 120 | // 121 | //----------------------------------------------------------------------------- 122 | void print_LibJson_Licenses(); 123 | #if defined (__cplusplus) 124 | } 125 | #endif -------------------------------------------------------------------------------- /utils/include/parser_print_util_options.h: -------------------------------------------------------------------------------- 1 | // 2 | // parser_print_util_options.h 3 | // 4 | // Do NOT modify or remove this copyright and license 5 | // 6 | // Copyright (c) 2015 - 2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved 7 | // 8 | // This software is subject to the terms of the Mozilla Public 9 | // License, v. 2.0. If a copy of the MPL was not distributed with this 10 | // file, You can obtain one at http://mozilla.org/MPL/2.0/. 11 | // 12 | // ****************************************************************************************** 13 | 14 | // \file parser_print_util_options.h 15 | // \brief This file defines the specific funtions and macros for parser Utilities. 16 | 17 | #pragma once 18 | 19 | #include 20 | #include "common_types.h" 21 | #include 22 | #include 23 | #include 24 | #include "libjson.h" 25 | #include "Opensea_Parser_Helper.h" 26 | #include 27 | 28 | namespace opensea_parser { 29 | #ifndef PARSER_PRINT_UTIL_OPTIONS 30 | #define PARSER_PRINT_UTIL_OPTIONS 31 | 32 | 33 | class CPrintJSON 34 | { 35 | private: 36 | JSONNODE *m_JsonData; 37 | std::string m_jsonMessage; 38 | 39 | public: 40 | CPrintJSON(); 41 | explicit CPrintJSON(JSONNODE *masterData); 42 | virtual ~CPrintJSON(); 43 | std::string get_Msg_JSON_Data(){ return m_jsonMessage; }; //!< returns string data for printing json data 44 | }; 45 | 46 | class CPrintCSV { 47 | private: 48 | #pragma pack(push, 1) 49 | typedef struct _sCSVFrameData 50 | { 51 | std::string title; //!< title information from the node 52 | std::string data; //!< Data information from the node 53 | }sCSVFrameData; 54 | #pragma pack(pop) 55 | sCSVFrameData m_csvData; //!< frame Parameter data 56 | sCSVFrameData m_singleLine; //!< line string for flatcsv formating 57 | std::string m_line; //!< line string for csv formating 58 | bool m_csv; //!< if true then we need to format for csv print 59 | 60 | bool parse_Json(JSONNODE *nData, uint16_t numberOfTabs); 61 | bool parse_Json_Flat(JSONNODE* nData); 62 | 63 | public: 64 | CPrintCSV(); 65 | virtual ~CPrintCSV(); 66 | std::string get_Msg_CSV(JSONNODE *masterData); //!< returns string data for a normal CSV, comma delimited 67 | std::string get_Msg_Flat_csv(JSONNODE *masterData); //!< returns string data for creating a csv all on two lines, comma delimited 68 | bool createData(std::string &title, std::string &data, uint16_t numberOfTabs); //!< creates the Data for the csv and flat csv, tab vs comma 69 | bool createLineData(const char* title, const char* data); //!< create the data for a csb that is flat only. 70 | }; 71 | 72 | class CPrintTXT 73 | { 74 | private: 75 | #pragma pack(push, 1) 76 | typedef struct _sFrameData 77 | { 78 | std::string title; //!< title information from the node 79 | std::string data; //!< Data information from the node 80 | }sFrameData; 81 | #pragma pack(pop) 82 | std::vector m_vData; //!< frame Parameter data 83 | std::string m_line; //!< line string for csv formating 84 | 85 | public: 86 | CPrintTXT(); 87 | virtual ~CPrintTXT(); 88 | bool parse_Json_to_Text(JSONNODE *nData, uint16_t numberOfTabs); 89 | bool Create_Tabs(std::string &title, const std::string &data, uint16_t numberOfTabs); //!< creates the Data for the text tabs 90 | std::string get_Msg_Text_Format(const std::string message); //!< returns the json data as a text string 91 | }; 92 | 93 | class CPrintProm { 94 | private: 95 | // PromQL metric in format: metric_key{label_key="label_value", ...} metric_value 96 | typedef struct metric { 97 | std::string key; // Stores key in Prometheus format 98 | std::map labelMap; // Map of labels 99 | std::string value; // Stores value for metric 100 | } metric; 101 | std::vector m_metricList; // List of metrics 102 | std::string serialNumber; // Serial number of current drive 103 | std::string toPrometheusKey(std::string key); // Converts a key to Prometheus' desired format 104 | std::string trimLeft(std::string s, const std::string &REPLACE); // Removes all leading instances of the given string REPLACE 105 | std::string trimRight(std::string s, const std::string &REPLACE); // Removes all trailing instances of the given string REPLACE 106 | std::string trim(std::string s, const std::string &REPLACE); // Removes all leading and trailing instances of the given string REPLACE 107 | bool isNumber(std::string s); // Determines if the given string can be parsed as a number 108 | metric headToLabel(metric currentMetric); // Modifies a metric so that the head number is a label rather than part of the key 109 | metric zoneToLabel(metric currentMetric); // Modifies a metric so that the test zone number is a label rather than part of the key 110 | public: 111 | void setSerialNumber(JSONNODE *nData); // Sets serial number 112 | std::string getSerialNumber(); // Gets serial number 113 | void parseJSONToProm(JSONNODE *nData, std::string serialNumber, json_char *json_nodeName); // Takes JSON, sets key-value pairs in struct 114 | std::string printProm(); // Takes key-value pairs in struct, prints to string 115 | }; 116 | 117 | class CMessage : public CPrintJSON, public CPrintTXT, public CPrintCSV, public CPrintProm 118 | { 119 | private: 120 | JSONNODE *msgData; 121 | std::fstream logFile; 122 | int printStatus; 123 | ePrintTypes printType; 124 | std::string m_fileName; 125 | std::string message; 126 | public: 127 | explicit CMessage(JSONNODE *masterData); 128 | CMessage(JSONNODE *masterData, std::string fileName, ePrintTypes toolPrintType); 129 | virtual ~CMessage(); 130 | void Msg(char *message); 131 | int WriteBuffer(); 132 | 133 | 134 | }; 135 | #endif // !PARSER_PRINT_UTIL_OPTIONS 136 | }; -------------------------------------------------------------------------------- /utils/include/seachest_parser_util_options.h: -------------------------------------------------------------------------------- 1 | // 2 | // Do NOT modify or remove this copyright and license 3 | // 4 | // Copyright (c) 2012 - 2024 Seagate Technology LLC and/or its Affiliates, All Rights Reserved 5 | // 6 | // This software is subject to the terms of the Mozilla Public 7 | // License, v. 2.0. If a copy of the MPL was not distributed with this 8 | // file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | // 10 | // ****************************************************************************************** 11 | // 12 | // \file seachest_util_options.h 13 | // \brief This file defines the functions and macros to make building a seachest utility easier. 14 | 15 | #pragma once 16 | 17 | 18 | #include 19 | #include "common_types.h" 20 | #include "time_utils.h" 21 | #include 22 | #include "Opensea_Parser_Helper.h" 23 | 24 | //this is being defined for using bools with getopt since using a bool (1 byte typically) will cause stack corruption at runtime 25 | //This type should only be used where a boolean is desired when using the getopt parser (which expects an int), otherwise bool will do just fine 26 | #define getOptBool int 27 | #define goFalse 0 28 | #define goTrue !goFalse 29 | #define FORMAT_SIZE 80 30 | 31 | enum class eUtilExitCodes 32 | { 33 | UTIL_EXIT_NO_ERROR = 0, 34 | UTIL_EXIT_ERROR_IN_COMMAND_LINE, 35 | UTIL_EXIT_INVALID_DEVICE_HANDLE, 36 | UTIL_EXIT_OPERATION_FAILURE, 37 | UTIL_EXIT_OPERATION_NOT_SUPPORTED, 38 | UTIL_EXIT_OPERATION_STILL_IN_PROGRESS, 39 | UTIL_EXIT_OPERATION_ABORTED, 40 | UTIL_EXIT_OPERATION_BAD_PARAMETER, 41 | UTIL_EXIT_OPERATION_MEMORY_FAILURE, 42 | UTIL_EXIT_OPERATION_INVALID_LENGTH, 43 | UTIL_EXIT_PATH_NOT_FOUND, 44 | UTIL_EXIT_CANNOT_OPEN_FILE, 45 | UTIL_EXIT_FILE_ALREADY_EXISTS, 46 | UTIL_EXIT_FILE_NOT_VALID, 47 | UTIL_EXIT_VALIDATION_FAILURE = 20, 48 | UTIL_EXIT_STRIP_HDR_FOOTER_FAILURE = 21, 49 | UTIL_EXIT_PARSE_FAILURE = 22, 50 | }; 51 | 52 | //Log Parser Input flag 53 | #define INPUT_LOG_FILE_FLAG inputLog 54 | #define INPUT_LOG_FILE_NAME InputLogFile 55 | #define INPUT_LOG_FILE_VAR \ 56 | bool INPUT_LOG_FILE_FLAG = false;\ 57 | bool INPUT_LOG_FROM_PIPE_FLAG = false;\ 58 | std::string INPUT_LOG_FILE_NAME; 59 | #define INPUT_LOG_LONG_OPT_STRING "inputLog" 60 | #define INPUT_LOG_LONG_OPT { INPUT_LOG_LONG_OPT_STRING, required_argument, NULL, 0} 61 | void print_Input_Log_Help(bool shortHelp); 62 | 63 | //Log Parser Output flag 64 | #define OUTPUT_LOG_FILE_FLAG outputFile 65 | #define OUTPUT_LOG_FILE_NAME outputLogFile 66 | #define OUTPUT_LOG_FILE_VAR \ 67 | bool OUTPUT_LOG_FILE_FLAG = false; \ 68 | std::string OUTPUT_LOG_FILE_NAME; 69 | #define OUTPUT_LOG_LONG_OPT_STRING "outputLog" 70 | #define OUTPUT_LOG_LONG_OPT { OUTPUT_LOG_LONG_OPT_STRING, required_argument, NULL, 0 } 71 | 72 | #define INPUT_LOG_FILE_FOUND_FLAG eUtilExitCodes 73 | #define INPUT_LOG_FILE_FOUND_VAR eUtilExitCodes INPUT_LOG_FILE_FOUND_FLAG = eUtilExitCodes::UTIL_EXIT_NO_ERROR; 74 | #define INPUT_LOG_FILE_FOUND_LONG_OPT_STRING "logFound" 75 | #define INPUT_LOG_FILE_FOUND_LONG_OPT { INPUT_LOG_FILE_FOUND_LONG_OPT_STRING, required_argument, NULL, 0} 76 | 77 | // defines for the printing of the logs in the help file 78 | #define LOG_NAME_PRINT_STRING_FARM_LOG "farmLog" 79 | #define LOG_NAME_PRINT_STRING_DEVICE_STATISTICS_LOG "deviceStatisticsLog" 80 | #define LOG_NAME_PRINT_STRING_EXT_COMPREHENSIVE_LOG "extCompErrorLog" 81 | #define LOG_NAME_PRINT_STRING_COMMON_ERROR_LOG "commonErrorLog" 82 | #define LOG_NAME_PRINT_STRING_EXT_SELF_TEST_LOG "extSelfTestLog" 83 | #define LOG_NAME_PRINT_STRING_DST "dstLog" 84 | #define LOG_NAME_PRINT_STRING_IDENTIFY_DEVICE_DATA_LOG "identifyDeviceDataLog" 85 | #define LOG_NAME_PRINT_STRING_IDENTIFY_LOG "identify" 86 | #define LOG_NAME_PRINT_STRING_SCT_TEMP_LOG "sctTempLog" 87 | #define LOG_NAME_PRINT_STRING_POWER_CONDITION_LOG "powerConditionLog" 88 | #define LOG_NAME_PRINT_STRING_NCQ_COMMAND_ERROR_LOG "ncqErrorLog" 89 | #define LOG_NAME_PRINT_STRING_SCSI_LOG_PAGES "scsiLogPages" 90 | 91 | 92 | #define LOG_TYPE_STRING_FARM_LOG "FARMLOG" 93 | #define LOG_TYPE_STRING_FARM "FARM" // nickname for the farm log 94 | #define LOG_TYPE_STRING_DEVICE_STATISTICS_LOG "DEVICESTATISTICSLOG" 95 | #define LOG_TYPE_STRING_DEVICE_STATISTICS "DEVICESTATISTICS" 96 | #define LOG_TYPE_STRING_EXT_COMPREHENSIVE_LOG "EXTCOMPERRORLOG" 97 | #define LOG_TYPE_STRING_EXT_COMPREHENSIVE "EXTCOMPERROR" 98 | #define LOG_TYPE_STRING_COMMON_ERROR_LOG "COMMONERRORLOG" 99 | #define LOG_TYPE_STRING_COMMON_ERROR "COMMONERROR" 100 | #define LOG_TYPE_STRING_EXT_DST_LOG "EXTSELFTESTLOG" 101 | #define LOG_TYPE_STRING_EXT_DST "EXTSELFTEST" 102 | #define LOG_TYPE_STRING_DST_LOG "DSTLOG" 103 | #define LOG_TYPE_STRING_DST "DST" 104 | #define LOG_TYPE_STRING_IDENTIFY "IDENTIFY" 105 | #define LOG_TYPE_STRING_IDENTIFY_LOG "IDENTIFYLOG" 106 | #define LOG_TYPE_STRING_IDENT "IDENT" 107 | #define LOG_TYPE_STRING_IDENT_LOG "IDENTLOG" 108 | #define LOG_TYPE_STRING_IDENTIFY_DEVICE_DATA_LOG "IDDATALOG" 109 | #define LOG_TYPE_STRING_SCT_TEMP_LOG "SCTTEMPLOG" 110 | #define LOG_TYPE_STRING_SCT_TEMP "SCTTEMP" 111 | #define LOG_TYPE_STRING_POWER_CONDITION_LOG "POWERCONDITIONLOG" 112 | #define LOG_TYPE_STRING_POWER_CONDITION "POWERCONDITION" 113 | #define LOG_TYPE_STRING_NCQ_COMMAND_ERROR_LOG "NCQERRORLOG" 114 | #define LOG_TYPE_STRING_NCQ_COMMAND_ERROR "NCQERROR" 115 | #define LOG_TYPE_STRING_SCSI_LOG_PAGES "SCSILOGPAGES" 116 | #define LOG_TYPE_STRING_LOG_PAGES "LOGPAGES" 117 | #define LOG_TYPE_STRING_SAS_LOG_PAGES "SASLOGPAGES" 118 | #define LOG_TYPE_STRING_SAS "SAS" 119 | #define LOG_TYPE_STRING_SCSI "SCSI" 120 | 121 | 122 | #define INPUT_LOG_TYPE_FLAG eLogTypes 123 | #define INPUT_LOG_TYPE_VAR eLogTypes INPUT_LOG_TYPE_FLAG = eLogTypes::LOG_TYPE_UNKNOWN; 124 | #define INPUT_LOG_TYPE_LONG_OPT_STRING "logType" 125 | #define INPUT_LOG_TYPE_LONG_OPT { INPUT_LOG_TYPE_LONG_OPT_STRING, required_argument, NULL, 0} 126 | 127 | 128 | // output file types 129 | #define LOG_PRINT_STRING_JSON "json" 130 | #define LOG_PRINT_STRING_TEXT "text" 131 | #define LOG_PRINT_STRING_CSV "csv" 132 | #define LOG_PRINT_STRING_FLATCSV "flatcsv" 133 | #define LOG_PRINT_STRING_PROM "prom" 134 | #define LOG_PRINT_STRING_TELEMETRY "TELEMETRY" 135 | 136 | // print type 137 | #define OUTPUT_LOG_PRINT_FLAG ePrintTypes 138 | #define OUTPUT_LOG_PRINT_VAR ePrintTypes OUTPUT_LOG_PRINT_FLAG = ePrintTypes::LOG_PRINT_JSON; 139 | #define OUTPUT_LOG_PRINT_LONG_OPT_STRING "printType" 140 | #define OUTPUT_LOG_PRINT_LONG_OPT { OUTPUT_LOG_PRINT_LONG_OPT_STRING, required_argument, NULL, 0 } 141 | 142 | 143 | //standard utility options 144 | 145 | #define SHOW_HELP_FLAG showHelp 146 | #define SHOW_HELP_VAR bool SHOW_HELP_FLAG = false; 147 | #define HELP_SHORT_OPT 'h' 148 | #define HELP_LONG_OPT_STRING "help" 149 | #define HELP_LONG_OPT { HELP_LONG_OPT_STRING, no_argument, NULL, HELP_SHORT_OPT } 150 | 151 | #define SHOW_VERSION_FLAG showVersion 152 | #define SHOW_VERSION_VAR bool SHOW_VERSION_FLAG = false; 153 | #define VERSION_SHORT_OPT 'V' 154 | #define VERSION_LONG_OPT_STRING "version" 155 | #define VERSION_LONG_OPT { VERSION_LONG_OPT_STRING, no_argument, NULL, VERSION_SHORT_OPT } 156 | 157 | #define VERBOSE_SHORT_OPT 'v' 158 | #define VERBOSE_LONG_OPT_STRING "verbose" 159 | #define VERBOSE_LONG_OPT { VERBOSE_LONG_OPT_STRING, required_argument, NULL, VERBOSE_SHORT_OPT } 160 | 161 | #define OUTPUTPATH_FLAG outputPathPtr 162 | #define OUTPUTPATH_VAR char *OUTPUTPATH_FLAG = NULL; 163 | 164 | #define PATH_LONG_OPT_STRING "outputPath" 165 | #define OUTPUTPATH_LONG_OPT { PATH_LONG_OPT_STRING, required_argument, NULL, 0} 166 | 167 | #define OUTPUTLOG_FLAG outputFilePtr 168 | #define OUTPUTLOG_VAR char *OUTPUTLOG_FLAG = NULL; 169 | 170 | #define OUTPUTLOG_LONG_OPT_STRING "outputLog" 171 | #define OUTPUTLOG_LONG_OPT { OUTPUTLOG_LONG_OPT_STRING, required_argument, NULL, 0} 172 | 173 | #define LICENSE_FLAG showLicense 174 | #define LICENSE_VAR getOptBool LICENSE_FLAG = goFalse; 175 | #define LICENSE_LONG_OPT_STRING "license" 176 | #define LICENSE_LONG_OPT { LICENSE_LONG_OPT_STRING, no_argument, &LICENSE_FLAG, goTrue } 177 | 178 | #define ECHO_COMMAND_LINE_FLAG echoCommandLine 179 | #define ECHO_COMMAND_LINE_VAR getOptBool ECHO_COMMAND_LINE_FLAG = goFalse; 180 | #define ECHO_COMMAND_LINE_LONG_OPT_STRING "echoCommandLine" 181 | #define ECHO_COMMAND_LINE_LONG_OPT { ECHO_COMMAND_LINE_LONG_OPT_STRING, no_argument, &ECHO_COMMAND_LINE_FLAG, goTrue } 182 | 183 | #define PROGRESS_CHAR progressTest 184 | #define PROGRESS_VAR char *PROGRESS_CHAR = NULL; 185 | #define PROGRESS_SHORT_OPT '%' 186 | #define PROGRESS_LONG_OPT_STRING "progress" 187 | #define PROGRESS_LONG_OPT { PROGRESS_LONG_OPT_STRING, required_argument, NULL, PROGRESS_SHORT_OPT } 188 | 189 | //time related flags 190 | #define HOURS_TIME_FLAG timeHours 191 | #define HOURS_TIME_VAR \ 192 | uint8_t HOURS_TIME_FLAG = 0; 193 | #define HOURS_TIME_LONG_OPT_STRING "hours" 194 | #define HOURS_TIME_LONG_OPT { HOURS_TIME_LONG_OPT_STRING, required_argument, NULL, 0 } 195 | 196 | #define MINUTES_TIME_FLAG timeMinutes 197 | #define MINUTES_TIME_VAR \ 198 | uint16_t MINUTES_TIME_FLAG = 0; 199 | #define MINUTES_TIME_LONG_OPT_STRING "minutes" 200 | #define MINUTES_TIME_LONG_OPT { MINUTES_TIME_LONG_OPT_STRING, required_argument, NULL , 0 } 201 | 202 | #define SECONDS_TIME_FLAG timeSeconds 203 | #define SECONDS_TIME_VAR \ 204 | uint32_t SECONDS_TIME_FLAG = 0; 205 | #define SECONDS_TIME_LONG_OPT_STRING "seconds" 206 | #define SECONDS_TIME_LONG_OPT { SECONDS_TIME_LONG_OPT_STRING, required_argument, NULL, 0 } 207 | 208 | // show the status bits from the FARM log only 209 | #define SHOW_STATUS_BIT_FLAG showStatusBits 210 | #define SHOW_STATUS_BIT_VAR bool SHOW_STATUS_BIT_FLAG = false; 211 | #define SHOW_STATUS_BITS_OPT_STRING "showStatusBits" 212 | #define SHOW_STATUS_BITS_OPT { SHOW_STATUS_BITS_OPT_STRING , no_argument, NULL, goTrue } 213 | 214 | // show full head info in the FARM log only if not populated show NULL 215 | #define SHOW_ALL_HEAD_DATA_FLAG showAllHeadData 216 | #define SHOW_ALL_HEAD_DATA_VAR getOptBool SHOW_ALL_HEAD_DATA_FLAG = goFalse; 217 | #define SHOW_ALL_HEAD_DATA_OPT_STRING "showAllHeadData" 218 | #define SHOW_ALL_HEAD_DATA_PRINT_STRING "showAllHeadData" 219 | #define SHOW_ALL_HEAD_DATA_OPT { SHOW_ALL_HEAD_DATA_OPT_STRING , no_argument, NULL, goTrue } 220 | 221 | // force the parser to be static and print out the same information all the time. aka no arrays and no data created arrays 222 | #define SHOW_STATIC_DATA_FLAG showStatic 223 | #define SHOW_STATIC_DATA_VAR getOptBool SHOW_STATIC_DATA_FLAG = goFalse; 224 | #define SHOW_STATIC_DATA_OPT_STRING "showStatic" 225 | #define SHOW_STATIC_DATA_PRINT_STRING "showStatic" 226 | #define SHOW_STATIC_DATA_OPT { SHOW_STATIC_DATA_OPT_STRING , no_argument, NULL, goTrue } 227 | 228 | 229 | #define LONG_OPT_TERMINATOR { NULL, 0, NULL, 0 } 230 | 231 | // Scsi Log pages defined for print out 232 | #define SCSI_LOG_PAGES_APPLICATION_CLIENT "Application Client" 233 | #define SCSI_LOG_PAGES_BACKGROUND_SCAN "Background Scan" 234 | #define SCSI_LOG_PAGES_BACKGROUND_OPERATION "Background Operation" 235 | #define SCSI_LOG_PAGES_CACHE_STATISTICS "Cache Memory Statistics 19h 20h" 236 | #define SCSI_LOG_PAGE_COMMAND_DURATION_LIMITES "Command Duration Limites Statistics 19h 21h" 237 | #define SCSI_LOG_PAGES_ERROR_COUNTER "Error Counter" 238 | #define SCSI_LOG_PAGES_ENVIRONMENTAL_LIMITS "Environmental Limits" 239 | #define SCSI_LOG_PAGES_ENVIRONMENTAL_REPORTING "Environmental Reporting" 240 | #define SCSI_LOG_PAGES_READ_LOG_PAGE "Read Log Page" 241 | #define SCSI_LOG_PAGES_WRITE_LOG_PAGE "Write Log Page" 242 | #define SCSI_LOG_PAGES_VERIFY_LOG_PAGE "Verify Log Page" 243 | #define SCSI_LOG_PAGES_FACTORY_LOG "Factory Log" 244 | #define SCSI_LOG_PAGES_FARM "FARM Log 3Dh 03h" 245 | #define SCSI_LOG_PAGES_FARM_FACTORY "FARM Factory Log 3Dh 04h" 246 | #define SCSI_LOG_PAGES_FARM_TIME_SERIES "FARM Time Series Log 3Dh 10h - 1Fh" 247 | #define SCSI_LOG_PAGES_FARM_STICKY "FARM Sticky Log 3Dh C0h - C7h" 248 | #define SCSI_LOG_PAGES_FORMAT_STATUS "Format Status" 249 | #define SCSI_LOG_PAGES_INFORMATIONAL_EXCEPTIONS "Informational Exceptions" 250 | #define SCSI_LOG_PAGES_LOGICAL_BLOCK_PROVISIONING "Logical Block Provisioning" 251 | #define SCSI_LOG_PAGES_NON_MEDIUM_ERROR "Non-Medium Error" 252 | #define SCSI_LOG_PAGES_PENDING_DEFECTS "Pending Defects" 253 | #define SCSI_LOG_PAGES_POWER_CONDITIONS "Power Conditions" 254 | #define SCSI_LOG_PAGES_PROTOCOL_PAGE "Protocol Specific Port" 255 | #define SCSI_LOG_PAGES_DST_LOG_PAGE "Self-Test Results Log" 256 | #define SCSI_LOG_PAGES_SOLID_STATE_MEDIA "Solid State Media" 257 | #define SCSI_LOG_PAGES_START_STOP_CYCLE_PAGE "Start Stop Cycle Page" 258 | #define SCSI_LOG_PAGES_SUPPORTED_LOG_PAGES "Supported Log Pages" 259 | #define SCSI_LOG_PAGES_SUPPORTED_LOG_PAGES_AND_SUBPAGES "Supported Log Pages and Subpages" 260 | #define SCSI_LOG_PAGES_TEMPERATURE_LOG_PAGE "Temperature Log Page" 261 | #define SCSI_LOG_PAGES_UTILIZATION "Utilization" 262 | #define SCSI_LOG_PAGES_ZONED_DEVICE_STAT "Zoned Device Statistics" 263 | 264 | void seachest_utility_Info(const std::string & utilityName, const std::string & buildVersion, const std::string & seaCPublicVersion); 265 | void Short_Utility_Failure_Usage(const std::string & util_name); 266 | void utility_Full_Version_Info(const std::string & utilityName, const std::string & buildVersion, const std::string & openseaVersion); 267 | void print_Final_newline(void); 268 | void print_SeaChest_Util_Exit_Codes(void); 269 | void print_Seachest_logType_options(); 270 | void print_Scsi_Log_Pages(); 271 | void print_Verbose_Help(bool shortHelp); 272 | void print_Version_Help(bool shortHelp, const char *utilName); 273 | void print_License_Help(bool shortHelp); 274 | void print_Echo_Command_Line_Help(bool shortHelp); 275 | void print_Help_Help(bool shortHelp); 276 | void print_OutputPath_Help(bool shortHelp); 277 | void print_OutputFile_Help(bool shortHelp); 278 | void print_Input_Log_Help(bool shortHelp); 279 | void print_SeaChest_Util_Exit_Codes(void); 280 | void print_Parser_Output_Log_Help(bool shortHelp); 281 | void print_Log_Type_Help(bool shortHelp); 282 | void print_Log_Print_Help(bool shortHelp); 283 | void print_FARM_Command_Line_Option_to_Show_Status_Bytes(); 284 | void print_FARM_Command_Line_Option_to_Show_All_Head_Data(); 285 | void print_FARM_Command_Line_Option_to_Show_Static(); 286 | 287 | 288 | #define OUTPUTPATH_PARSE outputPathPtr = optarg; 289 | #define OUTPUTFILE_PARSE outputFilePtr = optarg; 290 | 291 | --------------------------------------------------------------------------------