diff --git a/src/shared/hfp.c b/src/shared/hfp.c
index e375d27..6c804f5 100644
--- a/src/shared/hfp.c
+++ b/src/shared/hfp.c
return context->data[context->offset] != '\0';
}
+bool hfp_context_get_range(struct hfp_context *context, uint32_t *min,
+ uint32_t *max)
+{
+ uint32_t l, h;
+ uint32_t start;
+
+ start = context->offset;
+
+ if (!hfp_context_get_number(context, &l))
+ goto failed;
+
+ if (context->data[context->offset] != '-')
+ goto failed;
+
+ context->offset++;
+
+ if (!hfp_context_get_number(context, &h))
+ goto failed;
+
+ *min = l;
+ *max = h;
+
+ next_field(context);
+
+ return true;
+
+failed:
+ context->offset = start;
+ return false;
+}
+
static void process_input(struct hfp_gw *hfp)
{
char *str, *ptr;
diff --git a/src/shared/hfp.h b/src/shared/hfp.h
index be7cbb8..5ba020d 100644
--- a/src/shared/hfp.h
+++ b/src/shared/hfp.h
uint8_t len);
bool hfp_context_get_unquoted_string(struct hfp_context *context,
char *buf, uint8_t len);
+bool hfp_context_get_range(struct hfp_context *context, unsigned int *min,
+ unsigned int *max);
bool hfp_context_has_next(struct hfp_context *context);
typedef void (*hfp_hf_result_func_t)(struct hfp_context *context,