15b2defbdSEd MasteDecoding 25b2defbdSEd Maste============================= 35b2defbdSEd Maste 45b2defbdSEd MasteThe following diagram illustrates the relationship among different parts of libcbor from the decoding standpoint. 55b2defbdSEd Maste 65b2defbdSEd Maste:: 75b2defbdSEd Maste 85b2defbdSEd Maste ┌──────────────────────────────────────────────────────────────────────────────────────────────┐ 95b2defbdSEd Maste │ │ 105b2defbdSEd Maste │ Client application │ 115b2defbdSEd Maste │ │ 125b2defbdSEd Maste │ ┌────────────────────────────────────────────┘ 135b2defbdSEd Maste │ │ ↕ 145b2defbdSEd Maste │ │ ┌──────────────────────────────────────────┐ 155b2defbdSEd Maste │ │ │ │ 165b2defbdSEd Maste │ │ │ Manipulation routines │ 175b2defbdSEd Maste │ │ │ │ 185b2defbdSEd Maste │ ┌─────────────────────────────────────┘ └──────────────────────────────────────────┘ 195b2defbdSEd Maste │ │ ↑ ↑ ↑ ↑ 205b2defbdSEd Maste │ │ │ │ ┌─────────────╫──────────┬───────────────────┴─┐ 215b2defbdSEd Maste │ │ │ CDS │ ║ │ │ 225b2defbdSEd Maste │ │ │ │ PDS ║ PDS PDS 235b2defbdSEd Maste │ │ ↓ ↓ ↓ ↓ ↓ ↓ 245b2defbdSEd Maste │ │ ┌─────────────────┐ ┌────────────────────┐ ┌────────────────────────────┐ 255b2defbdSEd Maste │ │ │ │ │ │ │ │ 265b2defbdSEd Maste │ │ │ Custom driver │ ↔ │ Streaming driver │ ↔ │ Default driver │ ↔ CD 275b2defbdSEd Maste │ │ │ │ │ │ │ │ 285b2defbdSEd Maste └───────────┘ └─────────────────┘ └────────────────────┘ └────────────────────────────┘ 295b2defbdSEd Maste ↕ ↕ ↕ ↕ 305b2defbdSEd Maste ┌──────────────────────────────────────────────────────────────────────────────────────────────┐ 315b2defbdSEd Maste │ │ 325b2defbdSEd Maste │ Stateless event─driven decoder │ 335b2defbdSEd Maste │ │ 345b2defbdSEd Maste └──────────────────────────────────────────────────────────────────────────────────────────────┘ 355b2defbdSEd Maste 365b2defbdSEd Maste (PSD = Provided Data Structures, CDS = Custom Data Structures) 375b2defbdSEd Maste 385b2defbdSEd MasteThis section will deal with the API that is labeled as the "Default driver" in the diagram. That is, routines that 395b2defbdSEd Mastedecode complete libcbor data items 405b2defbdSEd Maste 415b2defbdSEd Maste.. doxygenfunction:: cbor_load 425b2defbdSEd Maste 435b2defbdSEd MasteAssociated data structures 445b2defbdSEd Maste~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 455b2defbdSEd Maste 465b2defbdSEd Maste.. doxygenenum:: cbor_error_code 475b2defbdSEd Maste 485b2defbdSEd Maste.. doxygenstruct:: cbor_load_result 495b2defbdSEd Maste :members: 505b2defbdSEd Maste 515b2defbdSEd Maste.. doxygenstruct:: cbor_error 525b2defbdSEd Maste :members: 535b2defbdSEd Maste 54