efi
UEFI headers
Assumes X64.
Requires <stdint.h>.
These are incomplete and you should probably use the official headers from Tianocore.
You could build a "Hello World" application just by including <efi.h> and using the declarations there. Everything needed to reference the Boot Services, Runtime Services, Configuration Table, System Table and base types are included in <efi.h>.
Using protocols requires including the appropriate protocol header. The naming convention for the include filename is to use the name of the structure, as it appears in the UEFI specification, and naming the file using the first letter of each component of the structure name. For example, the EfiGraphicsOutputProtocol is defined in protocol/efi-gop.h.
Please let me know of any mistakes. I'm also willing to add things as a favor. As it stands, I've only included components that I'm actually using.
- efi-bs.h
- boot services
- efi-ct.h
- configuration table
- efi.h
- base system
- efi-rs.h
- runtime services
- efi-st.h
- system table
- efi-time.h
- time representation
- protocol/
- efi protocols
- protocol/efi-acpitp.h
- acpi table protocol
- protocol/efi-dpp.h
- device path protocol
- protocol/efi-fp.h
- file protocol
- protocol/efi-gop.h
- graphics output protocol
- protocol/efi-lidpp.h
- loaded image device path protocol
- protocol/efi-lip.h
- loaded image protocol
- protocol/efi-sfsp.h
- simple file system protocol
- protocol/efi-stip.h
- simple text input protocol
- protocol/efi-stop.h
- simple text output protocol