psu.hpp (a2056e9ca86e767a774d621c5117939562c5aa54) | psu.hpp (ff3cd8e91958cadd6a9f72f2ad69c00abae3c7cf) |
---|---|
1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// --- 4 unchanged lines hidden (view full) --- 13// limitations under the License. 14 15#pragma once 16 17#include "handler.hpp" 18 19#include <ipmid/api.h> 20 | 1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// --- 4 unchanged lines hidden (view full) --- 13// limitations under the License. 14 15#pragma once 16 17#include "handler.hpp" 18 19#include <ipmid/api.h> 20 |
21#include <ipmid/api-types.hpp> 22#include <vector> 23 |
|
21namespace google 22{ 23namespace ipmi 24{ 25 26struct PsuResetRequest 27{ | 24namespace google 25{ 26namespace ipmi 27{ 28 29struct PsuResetRequest 30{ |
28 uint8_t subcommand; | |
29 // Delay in seconds. 30 uint32_t delay; 31} __attribute__((packed)); 32 | 31 // Delay in seconds. 32 uint32_t delay; 33} __attribute__((packed)); 34 |
33struct PsuResetOnShutdownRequest 34{ 35 uint8_t subcommand; 36} __attribute__((packed)); 37 | |
38// Set a time-delayed PSU hard reset. | 35// Set a time-delayed PSU hard reset. |
39ipmi_ret_t psuHardReset(const uint8_t* reqBuf, uint8_t* replyBuf, 40 size_t* dataLen, const HandlerInterface* handler); | 36Resp psuHardReset(const std::vector<std::uint8_t>& data, 37 const HandlerInterface* handler); |
41 42// Arm for PSU hard reset on host shutdown. | 38 39// Arm for PSU hard reset on host shutdown. |
43ipmi_ret_t psuHardResetOnShutdown(const uint8_t* reqBuf, uint8_t* replyBuf, 44 size_t* dataLen, 45 const HandlerInterface* handler); | 40Resp psuHardResetOnShutdown(const std::vector<std::uint8_t>& data, 41 const HandlerInterface* handler); |
46 47} // namespace ipmi 48} // namespace google | 42 43} // namespace ipmi 44} // namespace google |