blob: 5fcbcc93f1bc6622b9d2138f51cf7b7c2c5c06c8 [file] [log] [blame]
William A. Kennington III7d6fa422021-02-08 17:04:02 -08001#pragma once
2
3#include <net_iface.h>
4
5#include <vector>
6
7namespace mock
8{
9
10class IFace : public net::IFaceBase
11{
12 public:
13 IFace() : net::IFaceBase("mock0")
14 {}
15 explicit IFace(const std::string& name) : net::IFaceBase(name)
16 {}
17 int bind_sock(int sockfd, struct sockaddr_ll* saddr) const override;
18
19 mutable std::vector<int> bound_socks;
20 int index;
21 mutable short flags = 0;
22
23 private:
24 int ioctl_sock(int sockfd, int request, struct ifreq* ifr) const override;
25 int ioctl(int request, struct ifreq* ifr) const override;
26};
27
28} // namespace mock