from command.c:1303
#define DEFINE_PARSE_WRAPPER(name, type, min, max, functype, funcname) \
int parse ## name(const char *str, type * ul) \
{ \
functype n; \
int retval = parse ## funcname(str, &n); \
if (retval != ERROR_OK) \
return retval; \
if (n > max) \
return ERROR_COMMAND_ARGUMENT_OVERFLOW; \
if (min) \
return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \
*ul = n; \
return ERROR_OK; \
}