William A. Kennington III | 7d6fa42 | 2021-02-08 17:04:02 -0800 | [diff] [blame] | 1 | #pragma once |
| 2 | |
| 3 | #include <net_iface.h> |
| 4 | |
| 5 | #include <vector> |
| 6 | |
| 7 | namespace mock |
| 8 | { |
| 9 | |
| 10 | class 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 |