#pragma once #include #include #include #include namespace llarp { namespace dns { /// decode name from buffer; return nullopt on failure std::optional DecodeName(llarp_buffer_t* buf, bool trimTrailingDot = false); /// encode name to buffer bool EncodeNameTo(llarp_buffer_t* buf, std::string_view name); std::optional DecodePTR(std::string_view name); bool NameIsReserved(std::string_view name); } // namespace dns } // namespace llarp