Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

License

NotificationsYou must be signed in to change notification settings

openbmc/libpldm

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.

To Build

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 build

To run unit tests

mesontest -C build

Working withlibpldm

Components of the library ABI1 (loosely, functions) are separated into threecategories:

  1. Stable
  2. Testing
  3. 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.

Upgrading libpldm

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

  1. "library API + compiler ABI = library ABI"

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors39


[8]ページ先頭

©2009-2025 Movatter.jp