#ifndef YAML_PATH_H #define YAML_PATH_H #include typedef struct yaml_path yaml_path_t; typedef enum yaml_path_error_type { YAML_PATH_ERROR_NONE, YAML_PATH_ERROR_PARSE, } yaml_path_error_type_t; typedef struct yaml_path_error { yaml_path_error_type_t type; const char *message; const char *context; size_t pos; } yaml_path_error_t; typedef enum yaml_path_filter_mode { YAML_PATH_FILTER_RETURN_ALL, YAML_PATH_FILTER_RETURN_SHALLOW, } yaml_path_filter_mode_t; yaml_path_t* yaml_path_create (void); int yaml_path_parse (yaml_path_t *path, char *s_path); void yaml_path_destroy (yaml_path_t *path); const yaml_path_error_t* yaml_path_error_get (yaml_path_t *path); int yaml_path_filter_event (yaml_path_t *path, yaml_parser_t *parser, yaml_event_t *event, yaml_path_filter_mode_t mode); size_t yaml_path_snprint (yaml_path_t *path, char *s, size_t max_len); #endif//YAML_PATH_H