| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /**
- @mainpage Overview
- @anchor json
- @brief coreJSON Library
- <p>
- A parser that supports key lookups while also strictly enforcing the ECMA-404 JSON standard.
- The library is written in C and designed to be compliant with ISO C90 and MISRA C. It has proven safe memory use
- and no heap allocation, making it suitable for IoT microcontrollers, but also fully portable to other platforms.
- </p>
- @section json_memory_requirements Memory Requirements
- @brief Memory requirements of the JSON library.
- @include{doc} size_table.md
- @section json_design Design
- @brief JSON Library Design
- <h3>Memory Usage</h3>
- <p>
- All functions in the JSON library operate only on the buffers provided and use only
- local variables on the stack. In order to support static-only usage, we made a
- trade-off to re-parse as necessary so that we would not need to keep state.
- </p>
- <h3>Parsing Strictness</h3>
- <p>
- Input validation is necessary for strong security posture. As such, the parser
- strictly enforces the ECMA-404 JSON standard. Additionally, JSON documents are
- checked for illegal UTF-8 sequences, and strings have unicode hex escapes validated.
- </p>
- <h3>Compliance & Coverage</h3>
- <p>
- The JSON library is designed to be compliant with ISO C90 and MISRA C:2012.
- All functions are written to have minimal complexity. Unit tests and CBMC proofs
- are written to cover every path of execution and achieve 100% branch coverage.
- </p>
- */
- /**
- @page json_functions Functions
- @brief Primary functions of the JSON library:<br><br>
- @subpage json_validate_function <br>
- @subpage json_search_function <br>
- @subpage json_searcht_function <br>
- @subpage json_searchconst_function <br>
- @subpage json_iterate_function <br>
- @page json_validate_function JSON_Validate
- @snippet core_json.h declare_json_validate
- @copydoc JSON_Validate
- @page json_search_function JSON_Search
- @snippet core_json.h declare_json_search
- @copydoc JSON_Search
- @page json_searcht_function JSON_SearchT
- @snippet core_json.h declare_json_searcht
- @copydoc JSON_SearchT
- @page json_searchconst_function JSON_SearchConst
- @snippet core_json.h declare_json_searchconst
- @copydoc JSON_SearchConst
- @page json_iterate_function JSON_Iterate
- @snippet core_json.h declare_json_iterate
- @copydoc JSON_Iterate
- */
- <!-- We do not use doxygen ALIASes here because there have been issues in the past versions with "^^" newlines within the alias definition. -->
- /**
- @defgroup json_enum_types Enumerated Types
- @brief Enumerated types of the JSON library
- @defgroup json_struct_types Struct Types
- @brief Struct types of the JSON library
- */
|