libspf2 1.2.11
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
30typedef
31union
32{
33 struct in_addr a;
34 char ptr[1];
35 char mx[1];
36 char txt[1];
37 struct in6_addr aaaa;
39
49typedef
50struct SPF_dns_rr_struct
51{
52 /* query information */
53 char *domain;
58 /* answer information */
59 int num_rr;
61 size_t *rr_buf_len;
64 time_t ttl;
65 time_t utc_ttl;
68 /* misc information */
69 void *hook;
70 SPF_dns_server_t *source;
72
74void SPF_dns_rr_free(SPF_dns_rr_t *spfrr);
75SPF_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);
79SPF_dns_rr_t *SPF_dns_rr_new_nxdomain(SPF_dns_server_t *spf_dns_server,
80 const char *domain);
81
83 int idx, size_t len );
85
86
87#endif
ns_type
int SPF_dns_stat_t
Definition spf_dns.h:108
SPF_errcode_t
void SPF_dns_rr_free(SPF_dns_rr_t *spfrr)
Definition spf_dns_rr.c:114
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 * SPF_dns_rr_new(void)
Definition spf_dns_rr.c:93
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 * SPF_dns_rr_new_nxdomain(SPF_dns_server_t *spf_dns_server, const char *domain)
Definition spf_dns_rr.c:53
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_server_t * source
Definition spf_dns_rr.h:70
SPF_dns_rr_data_t ** rr
Definition spf_dns_rr.h:60
size_t domain_buf_len
Definition spf_dns_rr.h:54
size_t * rr_buf_len
Definition spf_dns_rr.h:61
void * hook
Definition spf_dns_rr.h:69
char * domain
Definition spf_dns_rr.h:53
ns_type rr_type
Definition spf_dns_rr.h:56
time_t utc_ttl
Definition spf_dns_rr.h:65
SPF_dns_stat_t herrno
Definition spf_dns_rr.h:66