/* * parser.h — Regex parser interface * Stage 1 of routing pipeline: tokenization + danger detection */ #pragma once #include #ifdef __cplusplus extern "C" { #endif typedef enum { HK_PARSE_OK, /* Input accepted, tokens extracted */ HK_PARSE_REJECTED, /* Dangerous pattern detected */ HK_PARSE_ERROR /* Parsing failed */ } hk_parse_status; typedef struct { void *tokens; /* Token array (opaque) */ size_t token_count; hk_parse_status status; const char *error; /* Reason code if rejected */ } hk_parse_result; /** * hk_parse_input — Tokenize and validate input * * Dangerous patterns are detected using regex: * - XXE triggers: