1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (c) 2010-2016 Intel Corporation. 3 * Copyright (c) 2022 Marvell. 4 */ 5 6 #ifndef PARSER_H 7 #define PARSER_H 8 9 #include <ctype.h> 10 #include <stdint.h> 11 #include <stdlib.h> 12 13 #define PARSE_DELIMITER " \f\n\r\t\v" 14 15 static inline size_t 16 skip_digits(const char *src) 17 { 18 size_t i; 19 20 for (i = 0; isdigit(src[i]); i++) 21 ; 22 23 return i; 24 } 25 26 int parser_read_arg_bool(const char *p); 27 28 int parser_read_uint64(uint64_t *value, const char *p); 29 int parser_read_uint32(uint32_t *value, const char *p); 30 int parser_read_uint16(uint16_t *value, const char *p); 31 int parser_read_uint8(uint8_t *value, const char *p); 32 33 int parser_read_uint64_hex(uint64_t *value, const char *p); 34 int parser_read_uint32_hex(uint32_t *value, const char *p); 35 int parser_read_uint16_hex(uint16_t *value, const char *p); 36 int parser_read_uint8_hex(uint8_t *value, const char *p); 37 38 int parser_read_int32(int32_t *value, const char *p); 39 int parser_read_int16(int16_t *value, const char *p); 40 41 int parse_hex_string(char *src, uint8_t *dst, uint32_t *size); 42 43 int parse_tokenize_string(char *string, char *tokens[], uint32_t *n_tokens); 44 45 int parse_lcores_list(bool lcores[], int lcores_num, const char *corelist); 46 47 #endif /* PARSER_H */ 48