1174a1631SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause
2174a1631SBruce Richardson * Copyright(c) 2010-2016 Intel Corporation
389e5eb11SGuduri Prathyusha */
489e5eb11SGuduri Prathyusha
589e5eb11SGuduri Prathyusha #ifndef __INCLUDE_PARSER_H__
689e5eb11SGuduri Prathyusha #define __INCLUDE_PARSER_H__
789e5eb11SGuduri Prathyusha
872b452c5SDmitry Kozlyuk #include <ctype.h>
989e5eb11SGuduri Prathyusha #include <stdint.h>
1089e5eb11SGuduri Prathyusha
1189e5eb11SGuduri Prathyusha #define PARSE_DELIMITER " \f\n\r\t\v"
1289e5eb11SGuduri Prathyusha
1389e5eb11SGuduri Prathyusha static inline size_t
skip_digits(const char * src)1489e5eb11SGuduri Prathyusha skip_digits(const char *src)
1589e5eb11SGuduri Prathyusha {
1689e5eb11SGuduri Prathyusha size_t i;
1789e5eb11SGuduri Prathyusha
1889e5eb11SGuduri Prathyusha for (i = 0; isdigit(src[i]); i++)
1989e5eb11SGuduri Prathyusha ;
2089e5eb11SGuduri Prathyusha
2189e5eb11SGuduri Prathyusha return i;
2289e5eb11SGuduri Prathyusha }
2389e5eb11SGuduri Prathyusha
2489e5eb11SGuduri Prathyusha int parser_read_arg_bool(const char *p);
2589e5eb11SGuduri Prathyusha
2689e5eb11SGuduri Prathyusha int parser_read_uint64(uint64_t *value, const char *p);
2789e5eb11SGuduri Prathyusha int parser_read_uint32(uint32_t *value, const char *p);
2889e5eb11SGuduri Prathyusha int parser_read_uint16(uint16_t *value, const char *p);
2989e5eb11SGuduri Prathyusha int parser_read_uint8(uint8_t *value, const char *p);
3089e5eb11SGuduri Prathyusha
3189e5eb11SGuduri Prathyusha int parser_read_uint64_hex(uint64_t *value, const char *p);
3289e5eb11SGuduri Prathyusha int parser_read_uint32_hex(uint32_t *value, const char *p);
3389e5eb11SGuduri Prathyusha int parser_read_uint16_hex(uint16_t *value, const char *p);
3489e5eb11SGuduri Prathyusha int parser_read_uint8_hex(uint8_t *value, const char *p);
3589e5eb11SGuduri Prathyusha
3689e5eb11SGuduri Prathyusha int parser_read_int32(int32_t *value, const char *p);
3789e5eb11SGuduri Prathyusha
38*750ab9d5SAakash Sasidharan int parse_hex_string(const char *src, uint8_t *dst, uint32_t *size);
3989e5eb11SGuduri Prathyusha
4089e5eb11SGuduri Prathyusha int parse_tokenize_string(char *string, char *tokens[], uint32_t *n_tokens);
4189e5eb11SGuduri Prathyusha
4232d7dbf2SMin Hu (Connor) int parse_lcores_list(bool lcores[], int lcores_num, const char *corelist);
4389e5eb11SGuduri Prathyusha #endif
44