at v5.8-rc2 949 B view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef PARSE_CTX_H 3#define PARSE_CTX_H 1 4 5// There are fixes that need to land upstream before we can use libbpf's headers, 6// for now use our copy uncoditionally, since the data structures at this point 7// are exactly the same, no problem. 8//#ifdef HAVE_LIBBPF_SUPPORT 9//#include <bpf/hashmap.h> 10//#else 11#include "util/hashmap.h" 12//#endif 13 14struct expr_parse_ctx { 15 struct hashmap ids; 16}; 17 18struct expr_scanner_ctx { 19 int start_token; 20 int runtime; 21}; 22 23void expr__ctx_init(struct expr_parse_ctx *ctx); 24void expr__ctx_clear(struct expr_parse_ctx *ctx); 25int expr__add_id(struct expr_parse_ctx *ctx, const char *id, double val); 26int expr__get_id(struct expr_parse_ctx *ctx, const char *id, double *val_ptr); 27int expr__parse(double *final_val, struct expr_parse_ctx *ctx, 28 const char *expr, int runtime); 29int expr__find_other(const char *expr, const char *one, 30 struct expr_parse_ctx *ids, int runtime); 31 32#endif