- Notifications
You must be signed in to change notification settings - Fork24
License
openbmc/libpldm
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This is a library which deals with the encoding and decoding of PLDM messages.It should be possible to use this library by projects other than OpenBMC, andhence certain constraints apply to it:
- keeping it light weight
- implementation in C
- minimal dynamic memory allocations
- endian-safe
- no OpenBMC specific dependencies
Source files are named according to the PLDM Type, for eg base.[h/c], fru.[h/c],etc.
Given a PLDM command "foo", the library will provide the following API: For theRequester function:
encode_foo_req()-encodeafoorequestdecode_foo_resp()-decodearesponsetofoo
For the Responder function:
decode_foo_req()-decodeafoorequestencode_foo_resp()-encodearesponsetofoo
The library also provides API to pack and unpack PLDM headers.
libpldm is configured and built usingmeson. Python'spip orpipx can be used to install a recent version on your machine:
pipx install meson
Oncemeson is installed:
meson setup build&& meson compile -C buildmesontest -C buildComponents of the library ABI1 (loosely, functions) are separated into threecategories:
- Stable
- Testing
- Deprecated
Applications depending onlibpldm should aim to only use functions from thestable category. However, this may not always be possible. What to do whenrequired functions fall into the deprecated or testing categories is discussedinCONTRIBUTING.
libpldm is maintained with the expectation that users move between successivereleases when upgrading. This constraint allows the library to reintroduce typesand functions of the same name in subsequent releases in the knowledge thatthere are no remaining users of previous definitions. While strategies areemployed to avoid breaking existing APIs unnecessarily, the library is still toreach maturity, and we must allow for improvements to be made in the design.
Footnotes
About
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.