xref: /openbmc/phosphor-net-ipmid/command/guid.hpp (revision 36e3c539df647d579f00f1cba6b482692a4ed634)
1  #pragma once
2  
3  #include "comm_module.hpp"
4  
5  #include <sdbusplus/bus/match.hpp>
6  
7  #include <cstddef>
8  #include <vector>
9  
10  namespace command
11  {
12  
13  constexpr size_t BMC_GUID_LEN = 16;
14  
15  using Guid = std::array<uint8_t, BMC_GUID_LEN>;
16  
17  /**
18   * @brief Get System GUID
19   *
20   * @return If UUID is successfully read from the Chassis DBUS object, then the
21   *         GUID is returned, else a canned GUID is returned
22   */
23  const Guid& getSystemGUID();
24  
25  /**
26   *  @brief Register the callback to update the cache when the GUID changes
27   */
28  void registerGUIDChangeCallback();
29  
30  } // namespace command
31