#ifndef UM_H #define UM_H #include #include #include struct pair { struct string_view key; struct string_view value; }; LL_DEFINE(manifest, struct pair); LL_DEFINE_ADD(manifest, struct pair); LL_DEFINE_FREE(manifest); struct um_user_data { struct ll_manifest manifest; }; struct parser_backend um_backend(); void um_init(); void um_block_start_cb(struct string_view *block, void *userdata); void um_block_end_cb(struct string_view *block, void *userdata); void um_kv_cb(struct string_view *key, struct string_view *value, void *userdata); #endif