Packages

Gleam DNS-SD discovery on Erlang

Current section

Files

Jump to
esdee src esdee@internal@dns.erl
Raw

src/esdee@internal@dns.erl

-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).