uefi-raw: Add Device Path protocol definitions.
This pull requests adds definitions for examining device path components.
These were derived from edk2 (mainly the comments), so I added the edk2 license on top of the file. I belive edk2's BSD type license is compatible with MPL-2.0, but is mixed license code okay in this project?
Some Device Paths have variable length trailer data, so a fully safe API would be rather difficult to provide without reliance on custom DSTs (and somewhat breaking the seperation of concerns between uefi-raw and uefi).
Thanks for the PR! I'll leave final feedback to @nicholasbishop who is more experienced with our Device Path code and infrastructure
I'd like to hold off on manually adding specific device path node types to uefi-raw. In the uefi crate, we're autogenerating code for node types, and I think we can just extend that to generate code in uefi-raw too.
Understood, this was code I origianlly did for for a project (personal) where I've been only using uefi-raw.