xref: /openbmc/google-ipmi-sys/google_accel_oob.hpp (revision d455bfd6e08dd09d10b220adc99d29ac33839e59)
14f0d1de6SSteve Foreman // Copyright 2022 Google LLC
24f0d1de6SSteve Foreman //
34f0d1de6SSteve Foreman // Licensed under the Apache License, Version 2.0 (the "License");
44f0d1de6SSteve Foreman // you may not use this file except in compliance with the License.
54f0d1de6SSteve Foreman // You may obtain a copy of the License at
64f0d1de6SSteve Foreman //
74f0d1de6SSteve Foreman //      http://www.apache.org/licenses/LICENSE-2.0
84f0d1de6SSteve Foreman //
94f0d1de6SSteve Foreman // Unless required by applicable law or agreed to in writing, software
104f0d1de6SSteve Foreman // distributed under the License is distributed on an "AS IS" BASIS,
114f0d1de6SSteve Foreman // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124f0d1de6SSteve Foreman // See the License for the specific language governing permissions and
134f0d1de6SSteve Foreman // limitations under the License.
144f0d1de6SSteve Foreman 
154f0d1de6SSteve Foreman #pragma once
164f0d1de6SSteve Foreman 
174f0d1de6SSteve Foreman #include "handler.hpp"
184f0d1de6SSteve Foreman 
194f0d1de6SSteve Foreman #include <ipmid/api.h>
204f0d1de6SSteve Foreman 
214f0d1de6SSteve Foreman #include <span>
224f0d1de6SSteve Foreman 
234f0d1de6SSteve Foreman namespace google
244f0d1de6SSteve Foreman {
254f0d1de6SSteve Foreman namespace ipmi
264f0d1de6SSteve Foreman {
274f0d1de6SSteve Foreman 
284f0d1de6SSteve Foreman //  Handle the Accel OOB device count command
294f0d1de6SSteve Foreman Resp accelOobDeviceCount(std::span<const uint8_t> data,
304f0d1de6SSteve Foreman                          HandlerInterface* handler);
314f0d1de6SSteve Foreman 
324f0d1de6SSteve Foreman Resp accelOobDeviceName(std::span<const uint8_t> data,
334f0d1de6SSteve Foreman                         HandlerInterface* handler);
344f0d1de6SSteve Foreman 
354f0d1de6SSteve Foreman Resp accelOobRead(std::span<const uint8_t> data, HandlerInterface* handler);
364f0d1de6SSteve Foreman 
374f0d1de6SSteve Foreman Resp accelOobWrite(std::span<const uint8_t> data, HandlerInterface* handler);
384f0d1de6SSteve Foreman 
39*d455bfd6SGaurav Gandhi // Handle the accel power setting command
40*d455bfd6SGaurav Gandhi Resp accelSetVrSettings(::ipmi::Context::ptr ctx, std::span<const uint8_t> data,
41*d455bfd6SGaurav Gandhi                         HandlerInterface* handler);
42*d455bfd6SGaurav Gandhi Resp accelGetVrSettings(::ipmi::Context::ptr ctx, std::span<const uint8_t> data,
43*d455bfd6SGaurav Gandhi                         HandlerInterface* handler);
444f0d1de6SSteve Foreman } // namespace ipmi
454f0d1de6SSteve Foreman } // namespace google
46