# `pnpid` Provides a single function to get the [PNP ID](https://uefi.org/PNP_ACPI_Registry) of a company on the registry. These are used in [`liboptic`](https://github.com/onkoe/liboptic) during EDID parsing. ## Usage It's fairly easy to use. Pass in an **UPPERCASE** PNP ID, such as `OVR` or `AMI`, into the function: ```rust use pnpid::company_from_pnp_id; let id = "ADR"; let name = company_from_pnp_id(id).unwrap(); assert_eq!(name, "Nasa Ames Research Center"); ``` ## Features - `array`: Provides a const array of all values in the list. This may bloat binary size, so be sure to remove it on embedded targets where necessary with `cargo add pnpid --no-default-features`. ## Platform Support This is a very simple library - anything that can run the internals of `PartialEq` is more than enough. It is also `#![no_std]`, so feel free to use it in fun places. :) ## Updating the List The list of PNP IDs, located at `/list.csv`, needs to be updated manually. You may find the updated list on [the UEFI Forum website](https://uefi.org/uefi-pnp-export). ## License This crate is licensed under the MPL v2.0. You can read that in [the license file](./LICENSE). ## References Thank you to @golightlyb for making [`PNP-ID`](https://github.com/golightlyb/PNP-ID), a C library that showed me that there's a CSV file (and that I don't need to parse PDF..!)