djbdnscurve6 45
djbdnscurve6
Loading...
Searching...
No Matches
parsetype.c
Go to the documentation of this file.
1#include "scan.h"
2#include "byte.h"
3#include "case.h"
4#include "dns.h"
5#include "uint_t.h"
6#include "parsetype.h"
7
8int parsetype(char *s,char type[2])
9{
10 unsigned long u;
11
12 if (!s[scan_ulong(s,&u)]) uint16_pack_big(type,u);
13 else if (case_equals(s,"any")) byte_copy(type,2,DNS_T_ANY);
14 else if (case_equals(s,"a")) byte_copy(type,2,DNS_T_A);
15 else if (case_equals(s,"ns")) byte_copy(type,2,DNS_T_NS);
16 else if (case_equals(s,"mx")) byte_copy(type,2,DNS_T_MX);
17 else if (case_equals(s,"ptr")) byte_copy(type,2,DNS_T_PTR);
18 else if (case_equals(s,"txt")) byte_copy(type,2,DNS_T_TXT);
19 else if (case_equals(s,"cname")) byte_copy(type,2,DNS_T_CNAME);
20 else if (case_equals(s,"soa")) byte_copy(type,2,DNS_T_SOA);
21 else if (case_equals(s,"hinfo")) byte_copy(type,2,DNS_T_HINFO);
22 else if (case_equals(s,"rp")) byte_copy(type,2,DNS_T_RP);
23 else if (case_equals(s,"sig")) byte_copy(type,2,DNS_T_SIG);
24 else if (case_equals(s,"key")) byte_copy(type,2,DNS_T_KEY);
25 else if (case_equals(s,"aaaa")) byte_copy(type,2,DNS_T_AAAA);
26 else if (case_equals(s,"axfr")) byte_copy(type,2,DNS_T_AXFR);
27//
28 else if (case_equals(s,"naptr")) byte_copy(type,2,DNS_T_NAPTR);
29 else if (case_equals(s,"cert")) byte_copy(type,2,DNS_T_CERT);
30 else if (case_equals(s,"opt")) byte_copy(type,2,DNS_T_OPT);
31 else if (case_equals(s,"ds")) byte_copy(type,2,DNS_T_DS);
32 else if (case_equals(s,"srv")) byte_copy(type,2,DNS_T_SRV);
33 else if (case_equals(s,"sshfp")) byte_copy(type,2,DNS_T_SSHFP);
34 else if (case_equals(s,"ipseckey")) byte_copy(type,2,DNS_T_IPSECKEY);
35 else if (case_equals(s,"rrsig")) byte_copy(type,2,DNS_T_RRSIG);
36 else if (case_equals(s,"nsec")) byte_copy(type,2,DNS_T_NSEC);
37 else if (case_equals(s,"dnskey")) byte_copy(type,2,DNS_T_DNSKEY);
38 else if (case_equals(s,"nsec3")) byte_copy(type,2,DNS_T_NSEC3);
39 else if (case_equals(s,"nsec3param")) byte_copy(type,2,DNS_T_NSEC3PARAM);
40 else if (case_equals(s,"tlsa")) byte_copy(type,2,DNS_T_TLSA);
41 else if (case_equals(s,"hip")) byte_copy(type,2,DNS_T_HIP);
42 else if (case_equals(s,"openpgpkey")) byte_copy(type,2,DNS_T_OPENPGPKEY);
43 else if (case_equals(s,"spf")) byte_copy(type,2,DNS_T_SPF);
44 else if (case_equals(s,"caa")) byte_copy(type,2,DNS_T_CAA);
45 else
46 return 0;
47
48 return 1;
49}
#define DNS_T_OPENPGPKEY
Definition: dns.h:82
#define DNS_T_SRV
Definition: dns.h:68
#define DNS_T_NSEC3
Definition: dns.h:78
#define DNS_T_CERT
Definition: dns.h:70
#define DNS_T_A
Definition: dns.h:56
#define DNS_T_TLSA
Definition: dns.h:80
#define DNS_T_CAA
Definition: dns.h:86
#define DNS_T_AXFR
Definition: dns.h:84
#define DNS_T_HIP
Definition: dns.h:81
#define DNS_T_SSHFP
Definition: dns.h:73
#define DNS_T_RRSIG
Definition: dns.h:75
#define DNS_T_DS
Definition: dns.h:72
#define DNS_T_IPSECKEY
Definition: dns.h:74
#define DNS_T_ANY
Definition: dns.h:85
#define DNS_T_TXT
Definition: dns.h:63
#define DNS_T_RP
Definition: dns.h:64
#define DNS_T_OPT
Definition: dns.h:71
#define DNS_T_SIG
Definition: dns.h:65
#define DNS_T_PTR
Definition: dns.h:60
#define DNS_T_KEY
Definition: dns.h:66
#define DNS_T_SOA
Definition: dns.h:59
#define DNS_T_NS
Definition: dns.h:57
#define DNS_T_CNAME
Definition: dns.h:58
#define DNS_T_AAAA
Definition: dns.h:67
#define DNS_T_NAPTR
Definition: dns.h:69
#define DNS_T_DNSKEY
Definition: dns.h:77
#define DNS_T_MX
Definition: dns.h:62
#define DNS_T_HINFO
Definition: dns.h:61
#define DNS_T_NSEC3PARAM
Definition: dns.h:79
#define DNS_T_SPF
Definition: dns.h:83
#define DNS_T_NSEC
Definition: dns.h:76
char type[2]
Definition: dnsq.c:56
int parsetype(char *s, char type[2])
Definition: parsetype.c:8
unsigned long u
Definition: utime.c:10