Skip to content

Simple Data Description Language

C API

ZL_GraphID ZL_Compressor_registerSDDL2Graph(ZL_Compressor* compressor,
                                            const void* bytecode,
                                            size_t bytecode_size);

Registers a Simple Data Description Language v2 graph with the provided (pre-compiled) bytecode.

This configures the standard auto-segmenting SDDL2 graph with bytecode, the default successor graph ZL_GRAPH_COMPRESS_GENERIC, and the default chunking behavior (equivalent to omitting SDDL2_CHUNK_BYTE_SIZE_PARAM, which resolves to SDDL2_DEFAULT_CHUNK_BYTE_SIZE at runtime).

Parameters:

  • compressor

    The compressor instance to register the graph with

  • bytecode

    Pointer to the compiled SDDL2 bytecode

  • bytecode_size

    Size of the bytecode in bytes

Returns:

The registered graph ID

Note

The bytecode should be generated by the SDDL compiler or assembler. The bytecode format is documented in the SDDL2 specification.

ZL_GraphID ZL_Compressor_registerSDDL2Graph_advanced(ZL_Compressor* compressor,
                                                     const void* bytecode,
                                                     size_t bytecode_size,
                                                     ZL_GraphID destination,
                                                     size_t chunk_byte_size);

Registers a Simple Data Description Language v2 graph with the provided (pre-compiled) bytecode, explicit destination graph, and optional chunking hint.

Use this variant when the default successor graph or single-chunk behavior is not appropriate.

Parameters:

  • compressor

    The compressor instance to register the graph with

  • bytecode

    Pointer to the compiled SDDL2 bytecode

  • bytecode_size

    Size of the bytecode in bytes

  • destination

    The graph to process the parsed segments

  • chunk_byte_size

    Optional max chunk size in bytes. Pass 0 to use the default SDDL2_DEFAULT_CHUNK_BYTE_SIZE chunking.

Returns:

The registered graph ID

Note

The bytecode should be generated by the SDDL compiler or assembler. The bytecode format is documented in the SDDL2 specification.

Language Reference

For the current language spec, see the SDDL documentation.