Add CUI countdown timer
[petitboot] / ui / ncurses / nc-cui.h
index 668776ebfc5ecbfd003e9991dce51448ce719594..79c41a4ec90b4d243150838ca0689771790c5327 100644 (file)
 
 #include <signal.h>
 
+#include "ui/common/timer.h"
 #include "nc-menu.h"
 #include "nc-ked.h"
 
-
 struct cui_opt_data {
        const struct device *dev;
        const struct boot_option *opt;
@@ -49,6 +49,7 @@ struct cui {
        sig_atomic_t resize;
        struct nc_scr *current;
        struct pmenu *main;
+       struct ui_timer timer;
        void *platform_info;
        unsigned int default_item;
        int (*on_kexec)(struct cui *cui, struct cui_opt_data *cod);
@@ -85,4 +86,15 @@ static inline struct cui *cui_from_item(struct pmenu_item *item)
        return cui_from_pmenu(item->pmenu);
 }
 
+static inline struct cui *cui_from_timer(struct ui_timer *timer)
+{
+       struct cui *cui;
+
+       cui = (struct cui *)((char *)timer
+               - (size_t)&((struct cui *)0)->timer);
+       assert(cui->c_sig == pb_cui_sig);
+
+       return cui;
+}
+
 #endif