uboot/include/env_callback.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * (C) Copyright 2012
   4 * Joe Hershberger, National Instruments, joe.hershberger@ni.com
   5 */
   6
   7#ifndef __ENV_CALLBACK_H__
   8#define __ENV_CALLBACK_H__
   9
  10#include <env_flags.h>
  11#include <linker_lists.h>
  12#include <search.h>
  13
  14#define ENV_CALLBACK_VAR ".callbacks"
  15
  16/* Board configs can define additional static callback bindings */
  17#ifndef CONFIG_ENV_CALLBACK_LIST_STATIC
  18#define CONFIG_ENV_CALLBACK_LIST_STATIC
  19#endif
  20
  21#ifdef CONFIG_SILENT_CONSOLE
  22#define SILENT_CALLBACK "silent:silent,"
  23#else
  24#define SILENT_CALLBACK
  25#endif
  26
  27#ifdef CONFIG_SPLASHIMAGE_GUARD
  28#define SPLASHIMAGE_CALLBACK "splashimage:splashimage,"
  29#else
  30#define SPLASHIMAGE_CALLBACK
  31#endif
  32
  33#ifdef CONFIG_REGEX
  34#define ENV_DOT_ESCAPE "\\"
  35#else
  36#define ENV_DOT_ESCAPE
  37#endif
  38
  39#ifdef CONFIG_CMD_DNS
  40#define DNS_CALLBACK "dnsip:dnsip,"
  41#else
  42#define DNS_CALLBACK
  43#endif
  44
  45#ifdef CONFIG_NET
  46#define NET_CALLBACKS \
  47        "bootfile:bootfile," \
  48        "ipaddr:ipaddr," \
  49        "gatewayip:gatewayip," \
  50        "netmask:netmask," \
  51        "serverip:serverip," \
  52        "nvlan:nvlan," \
  53        "vlan:vlan," \
  54        DNS_CALLBACK \
  55        "eth" ETHADDR_WILDCARD "addr:ethaddr,"
  56#else
  57#define NET_CALLBACKS
  58#endif
  59
  60/*
  61 * This list of callback bindings is static, but may be overridden by defining
  62 * a new association in the ".callbacks" environment variable.
  63 */
  64#define ENV_CALLBACK_LIST_STATIC ENV_DOT_ESCAPE ENV_CALLBACK_VAR ":callbacks," \
  65        ENV_DOT_ESCAPE ENV_FLAGS_VAR ":flags," \
  66        "baudrate:baudrate," \
  67        NET_CALLBACKS \
  68        "loadaddr:loadaddr," \
  69        SILENT_CALLBACK \
  70        SPLASHIMAGE_CALLBACK \
  71        "stdin:console,stdout:console,stderr:console," \
  72        "serial#:serialno," \
  73        CONFIG_ENV_CALLBACK_LIST_STATIC
  74
  75#ifndef CONFIG_SPL_BUILD
  76void env_callback_init(struct env_entry *var_entry);
  77#else
  78static inline void env_callback_init(struct env_entry *var_entry)
  79{
  80}
  81#endif
  82
  83#endif /* __ENV_CALLBACK_H__ */
  84