working commit
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
|
||||
#ifndef INTERFACE_HPP
|
||||
#define INTERFACE_HPP
|
||||
|
||||
class Interface {
|
||||
private:
|
||||
int tunfd;
|
||||
std::string ifname;
|
||||
int mtu;
|
||||
public:
|
||||
std::expected<void, std::string> Create(const std::string name);
|
||||
std::string Name();
|
||||
int MTU();
|
||||
std::expected<void, std::string> SetMTU(int mtu);
|
||||
std::expected<int, std::string> GetMTU(void);
|
||||
std::expected<void, std::string> SetIP4Address(std::string ipaddr);
|
||||
std::expected<void, std::string> SetIP4Netmask(int netmask);
|
||||
std::expected<std::string, std::string> GetIP4Address(void);
|
||||
|
||||
std::expected<void, std::string> Up(void);
|
||||
std::expected<void, std::string> Down(void);
|
||||
std::expected<void, std::string> UpN(void);
|
||||
std::expected<void, std::string> SetIP4AddrMask(const std::string address, const int prefix);
|
||||
|
||||
~Interface();
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user