libspf2
1.2.10
src
include
spf_dns_rr.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of either:
4
*
5
* a) The GNU Lesser General Public License as published by the Free
6
* Software Foundation; either version 2.1, or (at your option) any
7
* later version,
8
*
9
* OR
10
*
11
* b) The two-clause BSD license.
12
*
13
* These licenses can be found with the distribution in the file LICENSES
14
*/
15
16
17
18
19
#ifndef INC_SPF_DNS_RR
20
#define INC_SPF_DNS_RR
21
22
#include "
spf_dns.h
"
23
30
typedef
31
union
32
{
33
struct
in_addr a;
34
char
ptr[1];
35
char
mx[1];
36
char
txt[1];
37
struct
in6_addr aaaa;
38
}
SPF_dns_rr_data_t
;
39
49
typedef
50
struct
SPF_dns_rr_struct
51
{
52
/* query information */
53
char
*
domain
;
54
size_t
domain_buf_len
;
56
ns_type
rr_type
;
58
/* answer information */
59
int
num_rr
;
60
SPF_dns_rr_data_t
**
rr
;
61
size_t
*
rr_buf_len
;
62
int
rr_buf_num
;
64
time_t
ttl
;
65
time_t
utc_ttl
;
66
SPF_dns_stat_t
herrno
;
68
/* misc information */
69
void
*
hook
;
70
SPF_dns_server_t *
source
;
71
}
SPF_dns_rr_t
;
72
73
SPF_dns_rr_t
*
SPF_dns_rr_new
(
void
);
74
void
SPF_dns_rr_free
(
SPF_dns_rr_t
*spfrr);
75
SPF_dns_rr_t
*
SPF_dns_rr_new_init
(SPF_dns_server_t *spf_dns_server,
76
const
char
*domain,
77
ns_type
rr_type,
int
ttl,
78
SPF_dns_stat_t
herrno);
79
SPF_dns_rr_t
*
SPF_dns_rr_new_nxdomain
(SPF_dns_server_t *spf_dns_server,
80
const
char
*domain);
81
82
SPF_errcode_t
SPF_dns_rr_buf_realloc
(
SPF_dns_rr_t
*spfrr,
83
int
idx,
size_t
len );
84
SPF_errcode_t
SPF_dns_rr_dup
(
SPF_dns_rr_t
**dstp,
SPF_dns_rr_t
*src);
85
86
87
#endif
SPF_dns_stat_t
int SPF_dns_stat_t
Definition:
spf_dns.h:108
ns_type
ns_type
Definition:
arpa_nameser.h:300
SPF_dns_rr_t::rr_buf_len
size_t * rr_buf_len
Definition:
spf_dns_rr.h:61
SPF_errcode_t
SPF_errcode_t
Definition:
spf_response.h:119
SPF_dns_rr_free
void SPF_dns_rr_free(SPF_dns_rr_t *spfrr)
Definition:
spf_dns_rr.c:114
SPF_dns_rr_t
Definition:
spf_dns_rr.h:51
SPF_dns_rr_dup
SPF_errcode_t SPF_dns_rr_dup(SPF_dns_rr_t **dstp, SPF_dns_rr_t *src)
Definition:
spf_dns_rr.c:189
SPF_dns_rr_t::domain_buf_len
size_t domain_buf_len
Definition:
spf_dns_rr.h:54
SPF_dns_rr_t::domain
char * domain
Definition:
spf_dns_rr.h:53
spf_dns.h
SPF_dns_rr_t::num_rr
int num_rr
Definition:
spf_dns_rr.h:59
SPF_dns_rr_new_nxdomain
SPF_dns_rr_t * SPF_dns_rr_new_nxdomain(SPF_dns_server_t *spf_dns_server, const char *domain)
Definition:
spf_dns_rr.c:53
SPF_dns_rr_buf_realloc
SPF_errcode_t SPF_dns_rr_buf_realloc(SPF_dns_rr_t *spfrr, int idx, size_t len)
Definition:
spf_dns_rr.c:134
SPF_dns_rr_t::utc_ttl
time_t utc_ttl
Definition:
spf_dns_rr.h:65
SPF_dns_rr_t::source
SPF_dns_server_t * source
Definition:
spf_dns_rr.h:70
SPF_dns_rr_t::rr
SPF_dns_rr_data_t ** rr
Definition:
spf_dns_rr.h:60
SPF_dns_rr_t::rr_type
ns_type rr_type
Definition:
spf_dns_rr.h:56
SPF_dns_rr_new_init
SPF_dns_rr_t * SPF_dns_rr_new_init(SPF_dns_server_t *spf_dns_server, const char *domain, ns_type rr_type, int ttl, SPF_dns_stat_t herrno)
Definition:
spf_dns_rr.c:61
SPF_dns_rr_t::rr_buf_num
int rr_buf_num
Definition:
spf_dns_rr.h:62
SPF_dns_rr_data_t
Definition:
spf_dns_rr.h:32
SPF_dns_rr_new
SPF_dns_rr_t * SPF_dns_rr_new(void)
Definition:
spf_dns_rr.c:93
SPF_dns_rr_t::herrno
SPF_dns_stat_t herrno
Definition:
spf_dns_rr.h:66
SPF_dns_rr_t::hook
void * hook
Definition:
spf_dns_rr.h:69
SPF_dns_rr_t::ttl
time_t ttl
Definition:
spf_dns_rr.h:64
Generated by
1.8.18