aboutsummaryrefslogtreecommitdiff
path: root/boot/expo.c
diff options
context:
space:
mode:
Diffstat (limited to 'boot/expo.c')
-rw-r--r--boot/expo.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/boot/expo.c b/boot/expo.c
index 8b966b6c793..be11cfd4e94 100644
--- a/boot/expo.c
+++ b/boot/expo.c
@@ -56,6 +56,21 @@ void expo_destroy(struct expo *exp)
free(exp);
}
+uint resolve_id(struct expo *exp, uint id)
+{
+ if (!id)
+ id = exp->next_id++;
+ else if (id >= exp->next_id)
+ exp->next_id = id + 1;
+
+ return id;
+}
+
+void expo_set_dynamic_start(struct expo *exp, uint dyn_start)
+{
+ exp->next_id = dyn_start;
+}
+
int expo_str(struct expo *exp, const char *name, uint id, const char *str)
{
struct expo_string *estr;