2018-01-29 13:11:20 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
* Copyright(c) 2010-2014 Intel Corporation.
|
2012-09-04 12:54:00 +00:00
|
|
|
* Copyright (c) 2009, Olivier MATZ <zer0@droids-corp.org>
|
|
|
|
* All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _PARSE_NUM_H_
|
|
|
|
#define _PARSE_NUM_H_
|
|
|
|
|
2016-03-02 23:52:02 +00:00
|
|
|
#include <cmdline_parse.h>
|
|
|
|
|
2012-09-04 12:54:00 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
enum cmdline_numtype {
|
|
|
|
UINT8 = 0,
|
|
|
|
UINT16,
|
|
|
|
UINT32,
|
|
|
|
UINT64,
|
|
|
|
INT8,
|
|
|
|
INT16,
|
|
|
|
INT32,
|
|
|
|
INT64
|
|
|
|
};
|
|
|
|
|
|
|
|
struct cmdline_token_num_data {
|
|
|
|
enum cmdline_numtype type;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct cmdline_token_num {
|
|
|
|
struct cmdline_token_hdr hdr;
|
|
|
|
struct cmdline_token_num_data num_data;
|
|
|
|
};
|
|
|
|
typedef struct cmdline_token_num cmdline_parse_token_num_t;
|
|
|
|
|
|
|
|
extern struct cmdline_token_ops cmdline_token_num_ops;
|
|
|
|
|
|
|
|
int cmdline_parse_num(cmdline_parse_token_hdr_t *tk,
|
2014-12-05 14:19:07 +00:00
|
|
|
const char *srcbuf, void *res, unsigned ressize);
|
2012-09-04 12:54:00 +00:00
|
|
|
int cmdline_get_help_num(cmdline_parse_token_hdr_t *tk,
|
2014-12-05 14:19:07 +00:00
|
|
|
char *dstbuf, unsigned int size);
|
2012-09-04 12:54:00 +00:00
|
|
|
|
2012-12-19 23:00:00 +00:00
|
|
|
#define TOKEN_NUM_INITIALIZER(structure, field, numtype) \
|
|
|
|
{ \
|
|
|
|
/* hdr */ \
|
|
|
|
{ \
|
|
|
|
&cmdline_token_num_ops, /* ops */ \
|
|
|
|
offsetof(structure, field), /* offset */ \
|
|
|
|
}, \
|
|
|
|
/* num_data */ \
|
|
|
|
{ \
|
|
|
|
numtype, /* type */ \
|
|
|
|
}, \
|
2012-09-04 12:54:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _PARSE_NUM_H_ */
|