-module(esdee@internal@dns). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/esdee/internal/dns.gleam"). -export([encode_question/1, decode_records/1]). -export_type([resource_record/0, decode_error/0]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(false). -type resource_record() :: {ptr_record, binary(), binary()} | {srv_record, binary(), integer(), integer(), integer(), binary()} | {txt_record, binary(), list(binary())} | {a_record, binary(), glip:ip_address()} | {aaaa_record, binary(), glip:ip_address()}. -type decode_error() :: invalid_data | not_an_answer. -file("src/esdee/internal/dns.gleam", 7). ?DOC(false). -spec encode_question(binary()) -> bitstring(). encode_question(Domain) -> esdee_ffi:encode_question(Domain). -file("src/esdee/internal/dns.gleam", 32). ?DOC(false). -spec decode_records(bitstring()) -> {ok, list(resource_record())} | {error, decode_error()}. decode_records(Data) -> esdee_ffi:decode_records(Data).