OpenCore
1.0.4
OpenCore Bootloader
|
#include "LinuxBootInternal.h"
#include <Uefi.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/OcDebugLogLib.h>
#include <Library/OcMiscLib.h>
#include <Library/OcStringLib.h>
Go to the source code of this file.
Macros | |
#define | GRUB_LINE "in grub.cfg at line" |
#define | VAR_FLAGS_NONE (0) |
#define | VAR_FLAGS_BRACE BIT0 |
#define | VAR_FLAGS_NUMERIC BIT1 |
#define | SHIFT_TOKEN(offset) |
Typedefs | |
typedef enum GRUB_PARSE_STATE_ | GRUB_PARSE_STATE |
typedef enum GRUB_VAR_STATE_ | GRUB_VAR_STATE |
Enumerations | |
enum | GRUB_PARSE_STATE_ { GRUB_LEADING_SPACE , GRUB_COMMENT , GRUB_TOKEN , GRUB_SINGLE_QUOTE , GRUB_DOUBLE_QUOTE } |
enum | GRUB_VAR_STATE_ { GRUB_VAR_NONE , GRUB_VAR_START , GRUB_VAR_END , GRUB_VAR_CHAR } |
Functions | |
STATIC EFI_STATUS | GrubNextToken (CHAR8 *Content, UINTN *Pos, UINTN *Line, CHAR8 **Token, BOOLEAN *IsIndented, BOOLEAN *ContainsVars) |
STATIC BOOLEAN | GrubNextLine (CHAR8 Ch, UINTN *Pos) |
STATIC EFI_STATUS | SetVar (UINTN Line, CHAR8 *Token, BOOLEAN IsIndented, BOOLEAN ContainsVars) |
EFI_STATUS | InternalProcessGrubCfg (IN OUT CHAR8 *Content) |
Naive GRUB config parser.
Attemps to respect GRUB escape and line continuation syntax, and then to extract GRUB set commands for some basic processing.
Copyright (c) 2021, Mike Beaton. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause
Definition in file GrubCfg.c.
#define SHIFT_TOKEN | ( | offset | ) |
typedef enum GRUB_PARSE_STATE_ GRUB_PARSE_STATE |
typedef enum GRUB_VAR_STATE_ GRUB_VAR_STATE |
enum GRUB_PARSE_STATE_ |
enum GRUB_VAR_STATE_ |
STATIC EFI_STATUS GrubNextToken | ( | CHAR8 * | Content, |
UINTN * | Pos, | ||
UINTN * | Line, | ||
CHAR8 ** | Token, | ||
BOOLEAN * | IsIndented, | ||
BOOLEAN * | ContainsVars ) |
EFI_STATUS InternalProcessGrubCfg | ( | IN OUT CHAR8 * | Content | ) |