# System Capability Encoder and Decoder Tools SysCap(SystemCapability) encoder and decoder tools common usage scenarios as follow: APP development: IDE collect APP required SysCap and API verssion as in RPCID encoder input. And IDE will decode PCID to device SysCap list when it imported. This tool is only for use by the IDE, developers will not be used directly. Main function: 1. PCID Encode: Encode SysCap list to PCID. 2. PCID Decode: Decode PCID to get system SysCap list. 3. RPCID Encode: Encode APP required SysCap list to RPCID. 4. RPCID Decode: Decode RPCID to get APP required SysCap list. ## File Structure ``` /developtools ├── syscap_codec # root directory │ ├── include │ │ └── syscap_tool.h # interfaces │ └── src │ │ ├── endian_internel.h # internal big/little endian conversion headers(common for win、mac、linux) │ │ ├── endian_internel.c # big/little endian conversion implement │ │ ├── main.c # command line implement │ │ └── syscap_tool.c # codec implement │ └── test │ └── syscap_tool_test.c # syscap_tool test codec implement ``` ### API PC tools, no API provided. ### Building Manually syscap_tool binary building steps as follow: 1. Build commands:SysCap tools binary building and installation will be tiggered by SDK compiling procedure. How to build SDK please refer to https://gitee.com/openharmony/build/blob/master/README_zh.md. 2. Building cmd should be adjust for host platform as same as SDK compiling, the archive will in corresponding platform directoty. Note: Ubuntu host only avaiable for windows/linux building, MacOs binary should building on MacOs host. ### Downloading Binary 1. Downlaod SDK(recommonded) Download daily builds(http://ci.openharmony.cn/dailybuilds) which included SDK. 2. Supported Host Windows x86_64/Linux x86_64/Darwin x86_64 ### Help SysCap tools usually integrate to IDE, APP store and bundle tools. Follow instructions for debugging manually: ./syscap_tool -h or ./syscap_tool --help: ``` ./syscap_tool --help ./syscap_tool -R/P -e/d -i filepath [-o outpath] -h, --help : how to use -R, --RPCID : encode or decode RPCID -P, --PCID : encode or decode PCID -e, --encode : to encode -d, --encode : to decode -i filepath, --input filepath : input file -o outpath, --input outpath : output path ``` ### Release Note v1.0.0 2022-3-8 first release, SysCap codec supported for Windows/Linux/Mac host.