# Functions
ExecuteCLI applies each Visitor over the firmware in sequence.
FindAndPredicate is a generic predicate which takes the logical OR of two existing predicates.
FindDXEFV is a helper function to quickly retrieve the firmware volume that contains the DxeCore.
FindEnclosingFV finds the FV that contains a file.
FindExactlyOne does a find using a supplied predicate and errors if there's more than one.
FindFileFVPredicate is a generic predicate for searching FVs, files and UI sections.
FindFileGUIDPredicate is a generic predicate for searching file GUIDs only.
FindFilePredicate is a generic predicate for searching files and UI sections only.
FindFileTypePredicate is a generic predicate for searching file types only.
FindNotPredicate is a generic predicate which takes the logical NOT of an existing predicate.
FindNVarPredicate is a generic predicate for searching NVar only.
ListCLI prints out the help entries in the visitor struct as a newline-separated string in the form: name: help.
ParseCLI constructs a list of visitors from the given CLI argument list.
ParseInsertWhatType converts a string to InsertWhatType.
ParseInsertWherePreposition converts a string to InsertWherePreposition.
RegisterCLI registers a function `createVisitor` to be called when parsing the arguments with `ParseCLI`.
# Constants
These two specify a File to insert before or after InsertTypeAfter inserts after the specified file, which is specified by a File GUID or File name.
InsertTypeBefore inserts before the specified file.
InsertTypeDXE inserts into the Dxe Firmware Volume.
InsertTypeEnd inserts a file at the end of the specified firmware volume.
InsertTypeFront inserts a file at the beginning of the firmware volume, which is specified by 1) FVname GUID, or (File GUID/File name) of a file inside that FV.
InsertTypeInsert is generalization of all InsertTypeInsert* above.
InsertTypeReplaceFFS replaces the found file with the new FFS.
# Structs
Assemble reconstitutes the firmware tree assuming that the leaf node buffers are accurate.
Cat concatenates all RAW data sections from a file into a single byte slice.
Comment holds the io.Writer and args for a comment.
Count counts the number of each firmware type.
CreateFV creates a firmware volume at given offset.
Dump a firmware file using a GUID or a name.
DXECleaner removes DXEs sequentially in multiple rounds.
Extract extracts any Firmware node to DirPath.
Find a firmware file given its name or GUID.
Flatten places all nodes into a single slice and removes their children.
FlattenedFirmware appears in the Flatten.List, contains the index of the parrent and has no children.
Insert inserts a firmware file into an FV.
JSON prints any Firmware node as JSON.
NVarInvalidate set NVar as Invalid.
NVRamCompact compact nvram content by removing old version of variables.
ParseDir creates the firmware tree and reads the binaries from the provided directory.
Remove all firmware files with the given GUID.
Repack repacks a per file compressed FV into a singularly compressed nested FV.
ReplacePE32 replaces PE32 sections with NewPE32 for all files matching Predicate.
Save calls Assemble, then outputs the top image to a file.
Table prints the GUIDS, types and sizes as a compact table.
TightenME tighten ME's belt to give more room for LinuxBoot This changes the ME Region Limit to fit the actual content as described in the ME partitions.
Validate performs extra checks on the firmware image.
# Type aliases
FindPredicate is used to filter matches in the Find visitor.
InsertType defines the insert type operation that is requested.
InsertWhatType defines the type of inserting object.
InsertWherePreposition defines the type of inserting object.