1*93a4c0abSBrandon Kim // Copyright 2024 Google LLC
2*93a4c0abSBrandon Kim //
3*93a4c0abSBrandon Kim // Licensed under the Apache License, Version 2.0 (the "License");
4*93a4c0abSBrandon Kim // you may not use this file except in compliance with the License.
5*93a4c0abSBrandon Kim // You may obtain a copy of the License at
6*93a4c0abSBrandon Kim //
7*93a4c0abSBrandon Kim //      http://www.apache.org/licenses/LICENSE-2.0
8*93a4c0abSBrandon Kim //
9*93a4c0abSBrandon Kim // Unless required by applicable law or agreed to in writing, software
10*93a4c0abSBrandon Kim // distributed under the License is distributed on an "AS IS" BASIS,
11*93a4c0abSBrandon Kim // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*93a4c0abSBrandon Kim // See the License for the specific language governing permissions and
13*93a4c0abSBrandon Kim // limitations under the License.
14*93a4c0abSBrandon Kim 
15*93a4c0abSBrandon Kim #pragma once
16*93a4c0abSBrandon Kim 
17*93a4c0abSBrandon Kim #include "handler.hpp"
18*93a4c0abSBrandon Kim 
19*93a4c0abSBrandon Kim #include <span>
20*93a4c0abSBrandon Kim 
21*93a4c0abSBrandon Kim namespace google
22*93a4c0abSBrandon Kim {
23*93a4c0abSBrandon Kim namespace ipmi
24*93a4c0abSBrandon Kim {
25*93a4c0abSBrandon Kim 
26*93a4c0abSBrandon Kim #ifndef MAX_IPMI_BUFFER
27*93a4c0abSBrandon Kim #define MAX_IPMI_BUFFER 64
28*93a4c0abSBrandon Kim #endif
29*93a4c0abSBrandon Kim 
30*93a4c0abSBrandon Kim // Max buffer - len
31*93a4c0abSBrandon Kim constexpr size_t MAX_PAYLOAD_SIZE = MAX_IPMI_BUFFER - 1;
32*93a4c0abSBrandon Kim 
33*93a4c0abSBrandon Kim Resp readBiosSetting(
34*93a4c0abSBrandon Kim     std::span<const uint8_t> data, HandlerInterface* handler,
35*93a4c0abSBrandon Kim     const std::string& biosSettingPath = "/run/oem_bios_setting");
36*93a4c0abSBrandon Kim 
37*93a4c0abSBrandon Kim } // namespace ipmi
38*93a4c0abSBrandon Kim } // namespace google
39