WinFWHelper.hpp 825 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef WIN_FW_HELPER_H_
  2. #define WIN_FW_HELPER_H_
  3. #include "../node/InetAddress.hpp"
  4. #include <cstdint>
  5. #include <vector>
  6. namespace ZeroTier {
  7. class WinFWHelper {
  8. public:
  9. static void newICMPRule(const InetAddress& ip, uint64_t nwid);
  10. static void removeICMPRule(const InetAddress& ip, uint64_t nwid);
  11. static void removeICMPRules(uint64_t nwid);
  12. static void removeICMPRules();
  13. private:
  14. static void _run(std::string cmd);
  15. static void newICMPv4Rule(std::string address, uint64_t nwid);
  16. static void newICMPv6Rule(std::string address, uint64_t nwid);
  17. static void removeICMPv4Rule(std::string address, uint64_t nwid);
  18. static void removeICMPv6Rule(std::string address, uint64_t nwid);
  19. static void removeICMPv4Rules(uint64_t nwid);
  20. static void removeICMPv6Rules(uint64_t nwid);
  21. };
  22. } // namespace ZeroTier
  23. #endif