Documentation ¶
Index ¶
Constants ¶
const (
LoadedImageRevision = 0x1000
)
More random constants for binary structs. It's all so 1980!
Variables ¶
var CopyAble = map[string]*ProtocolHandle{}
CopyAble are ProtocolHandle with marshal'ed []byte that we can copy to the process memory.
Functions ¶
This section is empty.
Types ¶
type LoadedImage ¶
type LoadedImage struct { Revision uint32 Parent Handle System Table // // Source location of image // Device Handle FilePath uintptr // // Images load options // LoadOptionsSize uint32 LoadOptions uintptr // // Location of where image was loaded // ImageBase uintptr ImageSize uint64 ImageCodeType MemoryType ImageDataType MemoryType // // If the driver image supports a dynamic unload request // /*EFI_IMAGE_UNLOAD*/ Unload uintptr // contains filtered or unexported fields }
LoadedImage is for the Loaded Image Protocol.
func NewLoadedImage ¶
func NewLoadedImage() (*LoadedImage, error)
NewLoadedImage returns a filled-in LoadedImage struct. As to correctness, we have no idea. General rule: never leave anything with the zero value. It makes debugging much harder. Unless there are stupid UEFI reasons to make it zero, i.e. they have some default "type" and zero is a valid value. note: a valid value of zero is always a mistake. See Unix file open.
func (LoadedImage) Marshal ¶
func (i LoadedImage) Marshal() ([]byte, error)
type Path ¶
type Path uintptr
Path is probably some pointer to what seemed a good character format in 1995
type ProtocolHandle ¶
A ProtocolHandle is a string'ed GUID and its associated []byte. They are created by init functions.