diff --git a/lzw.c b/lzw.c index 167eef4dcf93540452dbd63cd7363eb617426228..da24888fed92c9c7c0e468ab8e7db41063012833 100644 --- a/lzw.c +++ b/lzw.c @@ -311,6 +311,7 @@ void init_lzw_parser() H_RULE(LZW_remainingbits, h_many(h_bits(1, false))); //XXX: could validate that these bits are 0? // XXX: p__take_n function to dynamically generate the rule needed to consume remaining bits? + // XXX: user data pointers (VDRULE, VADRULE, etc.) H_VARULE(LZW_clear, h_choice(LZW_9bitlitspec, LZW_10bitlitspec, LZW_11bitlitspec, LZW_12bitlitspec, NULL)); //XXX: VARULE or AVRULE? H_VRULE(LZW_eod, h_choice(LZW_9bitlitspec, LZW_10bitlitspec, LZW_11bitlitspec, LZW_12bitlitspec, NULL)); @@ -321,3 +322,12 @@ void init_lzw_parser() p_lzwdata = LZW_data; } +HParseResult* parse_lzw_data(const uint8_t* input, size_t length) +{ + return h_parse(p_lzwdata, input, length); +} + +void set_LZW_context(LZW_context_T ctx) +{ + //XXX +}