import Foundation enum DNSError: Error { case failedToOpenLogFile case failedToReadLogFile(Error) case failedToDecodeLogFile(Error) case failedToReadLastState(Error) case failedToDecodeLastState(Error) case failedToEncodeState(Error) case failedToWriteState(Error) case failedToCreateDNSLog(Error) case failedToOpenDNSLogForWriting case failedToWriteDNSLog(Error) case routerRequestFailedForIPv4(Error) case invalidRouterResponseForIPv4 case invalidRouterResponseCodeForIPv4(Int) case invalidRouterResponseBodyForIPv4 case invalidRouterResponseIpForIPv4(String) case failedToPerformCommandForIPv6(Error) case invalidCommandResultForIPv6(Int, String) case invalidIpAddressForIPv6(String) case failedToReadDomainConfiguration(Error) case failedToDecodeDomainConfiguration(Error) }