eth.hpp (a2056e9ca86e767a774d621c5117939562c5aa54) eth.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
26// The reply to the ethdevice command specifies the
27// IPMI channel number and the ifName used for the
28// ncis connection.
29struct EthDeviceReply
30{
24namespace google
25{
26namespace ipmi
27{
28
29// The reply to the ethdevice command specifies the
30// IPMI channel number and the ifName used for the
31// ncis connection.
32struct EthDeviceReply
33{
31 uint8_t subcommand;
32 uint8_t channel;
33 // ifNameLength doesn't include the null-terminator.
34 uint8_t ifNameLength;
35} __attribute__((packed));
36
37// Handle the eth query command.
38// Sys can query the ifName and IPMI channel of the BMC's NCSI ethernet
39// device.
34 uint8_t channel;
35 // ifNameLength doesn't include the null-terminator.
36 uint8_t ifNameLength;
37} __attribute__((packed));
38
39// Handle the eth query command.
40// Sys can query the ifName and IPMI channel of the BMC's NCSI ethernet
41// device.
40ipmi_ret_t getEthDevice(const uint8_t* reqBuf, uint8_t* replyBuf,
41 size_t* dataLen, const HandlerInterface* handler);
42Resp getEthDevice(const std::vector<std::uint8_t>& data,
43 const HandlerInterface* handler);
42
43} // namespace ipmi
44} // namespace google
44
45} // namespace ipmi
46} // namespace google