uboot/include/autoboot.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * (C) Copyright 2000
   4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   5 *
   6 * Add to readline cmdline-editing by
   7 * (C) Copyright 2005
   8 * JinHua Luo, GuangDong Linux Center, <luo.jinhua@gd-linux.com>
   9 */
  10
  11#ifndef __AUTOBOOT_H
  12#define __AUTOBOOT_H
  13
  14#include <stdbool.h>
  15
  16#ifdef CONFIG_SANDBOX
  17
  18/**
  19 * autoboot_keyed() - check whether keyed autoboot should be used
  20 *
  21 * This is only implemented for sandbox since other platforms don't have a way
  22 * of controlling the feature at runtime.
  23 *
  24 * @return true if enabled, false if not
  25 */
  26bool autoboot_keyed(void);
  27
  28/**
  29 * autoboot_set_keyed() - set whether keyed autoboot should be used
  30 *
  31 * @autoboot_keyed: true to enable the feature, false to disable
  32 * @return old value of the flag
  33 */
  34bool autoboot_set_keyed(bool autoboot_keyed);
  35#else
  36static inline bool autoboot_keyed(void)
  37{
  38        /* There is no runtime flag, so just use the CONFIG */
  39        return IS_ENABLED(CONFIG_AUTOBOOT_KEYED);
  40}
  41
  42static inline bool autoboot_set_keyed(bool autoboot_keyed)
  43{
  44        /* There is no runtime flag to set */
  45        return false;
  46}
  47
  48#endif
  49
  50#ifdef CONFIG_AUTOBOOT
  51/**
  52 * bootdelay_process() - process the bootd delay
  53 *
  54 * Process the boot delay, boot limit, then get the value of either
  55 * bootcmd, failbootcmd or altbootcmd depending on the current state.
  56 * Return this command so it can be executed.
  57 *
  58 * @return command to executed
  59 */
  60const char *bootdelay_process(void);
  61
  62/**
  63 * autoboot_command() - run the autoboot command
  64 *
  65 * If enabled, run the autoboot command returned from bootdelay_process().
  66 * Also do the CONFIG_AUTOBOOT_MENUKEY processing if enabled.
  67 *
  68 * @cmd: Command to run
  69 */
  70void autoboot_command(const char *cmd);
  71#else
  72static inline const char *bootdelay_process(void)
  73{
  74        return NULL;
  75}
  76
  77static inline void autoboot_command(const char *s)
  78{
  79}
  80#endif
  81
  82#endif
  83