2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2014-04-11 02:01:28 +00:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2000
|
|
|
|
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
|
|
*
|
|
|
|
* Add to readline cmdline-editing by
|
|
|
|
* (C) Copyright 2005
|
|
|
|
* JinHua Luo, GuangDong Linux Center, <luo.jinhua@gd-linux.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __AUTOBOOT_H
|
|
|
|
#define __AUTOBOOT_H
|
|
|
|
|
2021-07-24 21:14:39 +00:00
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
#ifdef CONFIG_SANDBOX
|
|
|
|
|
|
|
|
/**
|
|
|
|
* autoboot_keyed() - check whether keyed autoboot should be used
|
|
|
|
*
|
|
|
|
* This is only implemented for sandbox since other platforms don't have a way
|
|
|
|
* of controlling the feature at runtime.
|
|
|
|
*
|
2022-01-19 17:05:50 +00:00
|
|
|
* Return: true if enabled, false if not
|
2021-07-24 21:14:39 +00:00
|
|
|
*/
|
|
|
|
bool autoboot_keyed(void);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* autoboot_set_keyed() - set whether keyed autoboot should be used
|
|
|
|
*
|
|
|
|
* @autoboot_keyed: true to enable the feature, false to disable
|
2022-01-19 17:05:50 +00:00
|
|
|
* Return: old value of the flag
|
2021-07-24 21:14:39 +00:00
|
|
|
*/
|
|
|
|
bool autoboot_set_keyed(bool autoboot_keyed);
|
|
|
|
#else
|
|
|
|
static inline bool autoboot_keyed(void)
|
|
|
|
{
|
|
|
|
/* There is no runtime flag, so just use the CONFIG */
|
|
|
|
return IS_ENABLED(CONFIG_AUTOBOOT_KEYED);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline bool autoboot_set_keyed(bool autoboot_keyed)
|
|
|
|
{
|
|
|
|
/* There is no runtime flag to set */
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2016-06-20 08:33:39 +00:00
|
|
|
#ifdef CONFIG_AUTOBOOT
|
2014-04-11 02:01:35 +00:00
|
|
|
/**
|
|
|
|
* bootdelay_process() - process the bootd delay
|
|
|
|
*
|
|
|
|
* Process the boot delay, boot limit, then get the value of either
|
|
|
|
* bootcmd, failbootcmd or altbootcmd depending on the current state.
|
|
|
|
* Return this command so it can be executed.
|
|
|
|
*
|
2022-01-19 17:05:50 +00:00
|
|
|
* Return: command to executed
|
2014-04-11 02:01:35 +00:00
|
|
|
*/
|
|
|
|
const char *bootdelay_process(void);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* autoboot_command() - run the autoboot command
|
|
|
|
*
|
|
|
|
* If enabled, run the autoboot command returned from bootdelay_process().
|
2019-07-21 02:51:21 +00:00
|
|
|
* Also do the CONFIG_AUTOBOOT_MENUKEY processing if enabled.
|
2014-04-11 02:01:35 +00:00
|
|
|
*
|
|
|
|
* @cmd: Command to run
|
|
|
|
*/
|
|
|
|
void autoboot_command(const char *cmd);
|
2014-04-11 02:01:28 +00:00
|
|
|
#else
|
2014-04-11 02:01:35 +00:00
|
|
|
static inline const char *bootdelay_process(void)
|
|
|
|
{
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline void autoboot_command(const char *s)
|
2014-04-11 02:01:28 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|