Current section
Files
Jump to
Current section
Files
src/dnssd_definition.erl
-module(dnssd_definition).
-compile([export_all]).
%% dns-sd.h:kDNSServiceType
service_type() ->
[
{ 1, <<"A">>},
{ 2, <<"NS">>},
{ 3, <<"MD">>},
{ 4, <<"MF">>},
{ 5, <<"CNAME">>},
{ 6, <<"SOA">>},
{ 7, <<"MB">>},
{ 8, <<"MG">>},
{ 9, <<"MR">>},
{ 10, <<"NULL">>},
{ 11, <<"WKS">>},
{ 12, <<"PTR">>},
{ 13, <<"HINFO">>},
{ 14, <<"MINFO">>},
{ 15, <<"MX">>},
{ 16, <<"TXT">>},
{ 17, <<"RP">>},
{ 18, <<"AFSDB">>},
{ 19, <<"X25">>},
{ 20, <<"ISDN">>},
{ 21, <<"RT">>},
{ 22, <<"NSAP">>},
{ 23, <<"NSAP_PTR">>},
{ 24, <<"SIG">>},
{ 25, <<"KEY">>},
{ 26, <<"PX">>},
{ 27, <<"GPOS">>},
{ 28, <<"AAAA">>},
{ 29, <<"LOC">>},
{ 30, <<"NXT">>},
{ 31, <<"EID">>},
{ 32, <<"NIMLOC">>},
{ 33, <<"SRV">>},
{ 34, <<"ATMA">>},
{ 35, <<"NAPTR">>},
{ 36, <<"KX">>},
{ 37, <<"CERT">>},
{ 38, <<"A6">>},
{ 39, <<"DNAME">>},
{ 40, <<"SINK">>},
{ 41, <<"OPT">>},
{ 42, <<"APL">>},
{ 43, <<"DS">>},
{ 44, <<"SSHFP">>},
{ 45, <<"IPSECKEY">>},
{ 46, <<"RRSIG">>},
{ 47, <<"NSEC">>},
{ 48, <<"DNSKEY">>},
{ 49, <<"DHCID">>},
{ 50, <<"NSEC3">>},
{ 51, <<"NSEC3PARAM">>},
{ 55, <<"HIP">>},
{ 99, <<"SPF">>},
{100, <<"UINFO">>},
{101, <<"UID">>},
{102, <<"GID">>},
{103, <<"UNSPEC">>},
{249, <<"TKEY">>},
{250, <<"TSIG">>},
{251, <<"IXFR">>},
{252, <<"AXFR">>},
{253, <<"MAILB">>},
{254, <<"MAILA">>},
{255, <<"ANY">>}
].
%% dns-sd.h:kDNSServiceClass
service_class() ->
[
{1, <<"IN">>}
].
integer_to_name(Kind, I) when is_integer(I),
(service_type =:= Kind
orelse
service_class =:= Kind) ->
case lists:keyfind(I, 1, ?MODULE:Kind()) of
false -> integer_to_binary(I);
{I, Name} -> Name
end.
name_to_integer(Kind, Name) when (service_class =:= Kind orelse
service_type =:= Kind),
is_binary(Name) ->
UpperName = list_to_binary(string:to_upper(binary_to_list(Name))),
case lists:keyfind(UpperName, 2, ?MODULE:Kind()) of
false -> {error, {unknown, Kind, Name}};
{I, UpperName} -> I
end.