1a2056e9cSWilly Tu // Copyright 2021 Google LLC 2a2056e9cSWilly Tu // 3a2056e9cSWilly Tu // Licensed under the Apache License, Version 2.0 (the "License"); 4a2056e9cSWilly Tu // you may not use this file except in compliance with the License. 5a2056e9cSWilly Tu // You may obtain a copy of the License at 6a2056e9cSWilly Tu // 7a2056e9cSWilly Tu // http://www.apache.org/licenses/LICENSE-2.0 8a2056e9cSWilly Tu // 9a2056e9cSWilly Tu // Unless required by applicable law or agreed to in writing, software 10a2056e9cSWilly Tu // distributed under the License is distributed on an "AS IS" BASIS, 11a2056e9cSWilly Tu // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12a2056e9cSWilly Tu // See the License for the specific language governing permissions and 13a2056e9cSWilly Tu // limitations under the License. 14a2056e9cSWilly Tu 158cfa4c44Slinyuny #pragma once 168cfa4c44Slinyuny 178cfa4c44Slinyuny #include "handler.hpp" 188cfa4c44Slinyuny 198cfa4c44Slinyuny #include <ipmid/api.h> 208cfa4c44Slinyuny 21*ff3cd8e9SWilly Tu #include <ipmid/api-types.hpp> 22*ff3cd8e9SWilly Tu #include <vector> 23*ff3cd8e9SWilly Tu 248cfa4c44Slinyuny namespace google 258cfa4c44Slinyuny { 268cfa4c44Slinyuny namespace ipmi 278cfa4c44Slinyuny { 288cfa4c44Slinyuny 298cfa4c44Slinyuny struct HostPowerOffRequest 308cfa4c44Slinyuny { 318cfa4c44Slinyuny // Delay in seconds. 328cfa4c44Slinyuny uint32_t delay; 338cfa4c44Slinyuny } __attribute__((packed)); 348cfa4c44Slinyuny 358cfa4c44Slinyuny // Disable the fallback watchdog with given time delay and Power Off Host 36*ff3cd8e9SWilly Tu Resp hostPowerOff(const std::vector<std::uint8_t>& data, 37*ff3cd8e9SWilly Tu const HandlerInterface* handler); 388cfa4c44Slinyuny 398cfa4c44Slinyuny } // namespace ipmi 408cfa4c44Slinyuny } // namespace google 41