1*6c71b0f9SWilly Tu // Copyright 2022 Google LLC
2*6c71b0f9SWilly Tu //
3*6c71b0f9SWilly Tu // Licensed under the Apache License, Version 2.0 (the "License");
4*6c71b0f9SWilly Tu // you may not use this file except in compliance with the License.
5*6c71b0f9SWilly Tu // You may obtain a copy of the License at
6*6c71b0f9SWilly Tu //
7*6c71b0f9SWilly Tu //      http://www.apache.org/licenses/LICENSE-2.0
8*6c71b0f9SWilly Tu //
9*6c71b0f9SWilly Tu // Unless required by applicable law or agreed to in writing, software
10*6c71b0f9SWilly Tu // distributed under the License is distributed on an "AS IS" BASIS,
11*6c71b0f9SWilly Tu // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*6c71b0f9SWilly Tu // See the License for the specific language governing permissions and
13*6c71b0f9SWilly Tu // limitations under the License.
14*6c71b0f9SWilly Tu 
15*6c71b0f9SWilly Tu #pragma once
16*6c71b0f9SWilly Tu 
17*6c71b0f9SWilly Tu #include "handler.hpp"
18*6c71b0f9SWilly Tu 
19*6c71b0f9SWilly Tu #include <span>
20*6c71b0f9SWilly Tu 
21*6c71b0f9SWilly Tu namespace google
22*6c71b0f9SWilly Tu {
23*6c71b0f9SWilly Tu namespace ipmi
24*6c71b0f9SWilly Tu {
25*6c71b0f9SWilly Tu 
26*6c71b0f9SWilly Tu struct PcieBifurcationReply
27*6c71b0f9SWilly Tu {
28*6c71b0f9SWilly Tu     uint8_t bifurcationLength;
29*6c71b0f9SWilly Tu } __attribute__((packed));
30*6c71b0f9SWilly Tu 
31*6c71b0f9SWilly Tu Resp pcieBifurcation(std::span<const uint8_t> data, HandlerInterface* handler);
32*6c71b0f9SWilly Tu 
33*6c71b0f9SWilly Tu } // namespace ipmi
34*6c71b0f9SWilly Tu } // namespace google
35