X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_cmdline%2Fcmdline_parse_string.h;h=a84291b02f3911112c8296e849e9b19acc2609c4;hb=b5c94823dc4b40a55f3780880bea205fe2f9b8c1;hp=52c916c2a27b08cb50f59f0c8e1766c9d27b6008;hpb=3031749c2df04a63cdcef186dcce3781e61436e8;p=dpdk.git diff --git a/lib/librte_cmdline/cmdline_parse_string.h b/lib/librte_cmdline/cmdline_parse_string.h index 52c916c2a2..a84291b02f 100644 --- a/lib/librte_cmdline/cmdline_parse_string.h +++ b/lib/librte_cmdline/cmdline_parse_string.h @@ -61,6 +61,8 @@ #ifndef _PARSE_STRING_H_ #define _PARSE_STRING_H_ +#include + #ifdef __cplusplus extern "C" { #endif @@ -68,8 +70,13 @@ extern "C" { /* size of a parsed string */ #define STR_TOKEN_SIZE 128 +/* size of a parsed multi string */ +#define STR_MULTI_TOKEN_SIZE 4096 + typedef char cmdline_fixed_string_t[STR_TOKEN_SIZE]; +typedef char cmdline_multi_string_t[STR_MULTI_TOKEN_SIZE]; + struct cmdline_token_string_data { const char *str; }; @@ -83,13 +90,23 @@ typedef struct cmdline_token_string cmdline_parse_token_string_t; extern struct cmdline_token_ops cmdline_token_string_ops; int cmdline_parse_string(cmdline_parse_token_hdr_t *tk, const char *srcbuf, - void *res); + void *res, unsigned ressize); int cmdline_complete_get_nb_string(cmdline_parse_token_hdr_t *tk); int cmdline_complete_get_elt_string(cmdline_parse_token_hdr_t *tk, int idx, char *dstbuf, unsigned int size); int cmdline_get_help_string(cmdline_parse_token_hdr_t *tk, char *dstbuf, unsigned int size); +/** +* Token marked as TOKEN_STRING_MULTI takes entire parsing string +* until “#” sign appear. Everything after “#” sign is treated as a comment. +* +* Note: +* In this case second parameter of TOKEN_STRING_INITIALIZER must be a type of +* cmdline_multi_string_t. +*/ +#define TOKEN_STRING_MULTI "" + #define TOKEN_STRING_INITIALIZER(structure, field, string) \ { \ /* hdr */ \