xref: /dpdk/app/test-eventdev/parser.h (revision 32d7dbf2)
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 
889e5eb11SGuduri Prathyusha #include <stdint.h>
989e5eb11SGuduri Prathyusha 
1089e5eb11SGuduri Prathyusha #define PARSE_DELIMITER				" \f\n\r\t\v"
1189e5eb11SGuduri Prathyusha 
1289e5eb11SGuduri Prathyusha #define skip_white_spaces(pos)			\
1389e5eb11SGuduri Prathyusha ({						\
1489e5eb11SGuduri Prathyusha 	__typeof__(pos) _p = (pos);		\
1589e5eb11SGuduri Prathyusha 	for ( ; isspace(*_p); _p++)		\
1689e5eb11SGuduri Prathyusha 		;				\
1789e5eb11SGuduri Prathyusha 	_p;					\
1889e5eb11SGuduri Prathyusha })
1989e5eb11SGuduri Prathyusha 
2089e5eb11SGuduri Prathyusha static inline size_t
skip_digits(const char * src)2189e5eb11SGuduri Prathyusha skip_digits(const char *src)
2289e5eb11SGuduri Prathyusha {
2389e5eb11SGuduri Prathyusha 	size_t i;
2489e5eb11SGuduri Prathyusha 
2589e5eb11SGuduri Prathyusha 	for (i = 0; isdigit(src[i]); i++)
2689e5eb11SGuduri Prathyusha 		;
2789e5eb11SGuduri Prathyusha 
2889e5eb11SGuduri Prathyusha 	return i;
2989e5eb11SGuduri Prathyusha }
3089e5eb11SGuduri Prathyusha 
3189e5eb11SGuduri Prathyusha int parser_read_arg_bool(const char *p);
3289e5eb11SGuduri Prathyusha 
3389e5eb11SGuduri Prathyusha int parser_read_uint64(uint64_t *value, const char *p);
3489e5eb11SGuduri Prathyusha int parser_read_uint32(uint32_t *value, const char *p);
3589e5eb11SGuduri Prathyusha int parser_read_uint16(uint16_t *value, const char *p);
3689e5eb11SGuduri Prathyusha int parser_read_uint8(uint8_t *value, const char *p);
3789e5eb11SGuduri Prathyusha 
3889e5eb11SGuduri Prathyusha int parser_read_uint64_hex(uint64_t *value, const char *p);
3989e5eb11SGuduri Prathyusha int parser_read_uint32_hex(uint32_t *value, const char *p);
4089e5eb11SGuduri Prathyusha int parser_read_uint16_hex(uint16_t *value, const char *p);
4189e5eb11SGuduri Prathyusha int parser_read_uint8_hex(uint8_t *value, const char *p);
4289e5eb11SGuduri Prathyusha 
4389e5eb11SGuduri Prathyusha int parser_read_int32(int32_t *value, const char *p);
4489e5eb11SGuduri Prathyusha 
4589e5eb11SGuduri Prathyusha int parse_hex_string(char *src, uint8_t *dst, uint32_t *size);
4689e5eb11SGuduri Prathyusha 
4789e5eb11SGuduri Prathyusha int parse_tokenize_string(char *string, char *tokens[], uint32_t *n_tokens);
4889e5eb11SGuduri Prathyusha 
49*32d7dbf2SMin Hu (Connor) int parse_lcores_list(bool lcores[], int lcores_num, const char *corelist);
5089e5eb11SGuduri Prathyusha #endif
51