/usr/include/spf2/spf_dns_rr.h is in libspf2-dev 1.2.10-7build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | /*
* This program is free software; you can redistribute it and/or modify
* it under the terms of either:
*
* a) The GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1, or (at your option) any
* later version,
*
* OR
*
* b) The two-clause BSD license.
*
* These licenses can be found with the distribution in the file LICENSES
*/
#ifndef INC_SPF_DNS_RR
#define INC_SPF_DNS_RR
#include "spf_dns.h"
/**
* Data from a DNS RR.
*
* The strings in this union are usually malloc'ed larger than the
* size of the union. Only create pointers to it!
*/
typedef
union
{
struct in_addr a;
char ptr[1];
char mx[1];
char txt[1];
struct in6_addr aaaa;
} SPF_dns_rr_data_t;
/**
* A DNS packet.
*
* This structure does not semantically match the DNS packet
* structure. It assumes that only one RR type was of interest,
* and that all RRs in the packet are of that type.
*
* This is also used in spf_dns_zone.c
*/
typedef
struct SPF_dns_rr_struct
{
/* query information */
char *domain; /**< FQDN queried for. */
size_t domain_buf_len;/**< Alloced size of domain. */
ns_type rr_type; /**< Type of RR queried for. */
/* answer information */
int num_rr; /**< Number of RR returned in RR. */
SPF_dns_rr_data_t **rr; /**< RR set returned. */
size_t *rr_buf_len;/**< Alloced size of each RR. */
int rr_buf_num;/**< Number of RR allocated. */
time_t ttl; /**< Raw TTL. */
time_t utc_ttl; /**< TTL adjusted to UTC. */
SPF_dns_stat_t herrno; /**< h_error returned from query. */
/* misc information */
void *hook; /**< Used by DNS layers. */
SPF_dns_server_t *source; /**< Which layer created this RR. */
} SPF_dns_rr_t;
SPF_dns_rr_t *SPF_dns_rr_new(void);
void SPF_dns_rr_free(SPF_dns_rr_t *spfrr);
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);
SPF_dns_rr_t *SPF_dns_rr_new_nxdomain(SPF_dns_server_t *spf_dns_server,
const char *domain);
SPF_errcode_t SPF_dns_rr_buf_realloc(SPF_dns_rr_t *spfrr,
int idx, size_t len );
SPF_errcode_t SPF_dns_rr_dup(SPF_dns_rr_t **dstp, SPF_dns_rr_t *src);
#endif
|