~ubuntu-branches/ubuntu/intrepid/djbdns/intrepid-security

« back to all changes in this revision

Viewing changes to dns.h

  • Committer: Bazaar Package Importer
  • Author(s): Gerrit Pape
  • Date: 2008-03-02 23:22:04 UTC
  • Revision ID: james.westby@ubuntu.com-20080302232204-wa3owprcpeiyu8kj
Tags: upstream-1.05
ImportĀ upstreamĀ versionĀ 1.05

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef DNS_H
 
2
#define DNS_H
 
3
 
 
4
#include "stralloc.h"
 
5
#include "iopause.h"
 
6
#include "taia.h"
 
7
 
 
8
#define DNS_C_IN "\0\1"
 
9
#define DNS_C_ANY "\0\377"
 
10
 
 
11
#define DNS_T_A "\0\1"
 
12
#define DNS_T_NS "\0\2"
 
13
#define DNS_T_CNAME "\0\5"
 
14
#define DNS_T_SOA "\0\6"
 
15
#define DNS_T_PTR "\0\14"
 
16
#define DNS_T_HINFO "\0\15"
 
17
#define DNS_T_MX "\0\17"
 
18
#define DNS_T_TXT "\0\20"
 
19
#define DNS_T_RP "\0\21"
 
20
#define DNS_T_SIG "\0\30"
 
21
#define DNS_T_KEY "\0\31"
 
22
#define DNS_T_AAAA "\0\34"
 
23
#define DNS_T_AXFR "\0\374"
 
24
#define DNS_T_ANY "\0\377"
 
25
 
 
26
struct dns_transmit {
 
27
  char *query; /* 0, or dynamically allocated */
 
28
  unsigned int querylen;
 
29
  char *packet; /* 0, or dynamically allocated */
 
30
  unsigned int packetlen;
 
31
  int s1; /* 0, or 1 + an open file descriptor */
 
32
  int tcpstate;
 
33
  unsigned int udploop;
 
34
  unsigned int curserver;
 
35
  struct taia deadline;
 
36
  unsigned int pos;
 
37
  const char *servers;
 
38
  char localip[4];
 
39
  char qtype[2];
 
40
} ;
 
41
 
 
42
extern void dns_random_init(const char *);
 
43
extern unsigned int dns_random(unsigned int);
 
44
 
 
45
extern void dns_sortip(char *,unsigned int);
 
46
 
 
47
extern void dns_domain_free(char **);
 
48
extern int dns_domain_copy(char **,const char *);
 
49
extern unsigned int dns_domain_length(const char *);
 
50
extern int dns_domain_equal(const char *,const char *);
 
51
extern int dns_domain_suffix(const char *,const char *);
 
52
extern unsigned int dns_domain_suffixpos(const char *,const char *);
 
53
extern int dns_domain_fromdot(char **,const char *,unsigned int);
 
54
extern int dns_domain_todot_cat(stralloc *,const char *);
 
55
 
 
56
extern unsigned int dns_packet_copy(const char *,unsigned int,unsigned int,char *,unsigned int);
 
57
extern unsigned int dns_packet_getname(const char *,unsigned int,unsigned int,char **);
 
58
extern unsigned int dns_packet_skipname(const char *,unsigned int,unsigned int);
 
59
 
 
60
extern int dns_transmit_start(struct dns_transmit *,const char *,int,const char *,const char *,const char *);
 
61
extern void dns_transmit_free(struct dns_transmit *);
 
62
extern void dns_transmit_io(struct dns_transmit *,iopause_fd *,struct taia *);
 
63
extern int dns_transmit_get(struct dns_transmit *,const iopause_fd *,const struct taia *);
 
64
 
 
65
extern int dns_resolvconfip(char *);
 
66
extern int dns_resolve(const char *,const char *);
 
67
extern struct dns_transmit dns_resolve_tx;
 
68
 
 
69
extern int dns_ip4_packet(stralloc *,const char *,unsigned int);
 
70
extern int dns_ip4(stralloc *,const stralloc *);
 
71
extern int dns_name_packet(stralloc *,const char *,unsigned int);
 
72
extern void dns_name4_domain(char *,const char *);
 
73
#define DNS_NAME4_DOMAIN 31
 
74
extern int dns_name4(stralloc *,const char *);
 
75
extern int dns_txt_packet(stralloc *,const char *,unsigned int);
 
76
extern int dns_txt(stralloc *,const stralloc *);
 
77
extern int dns_mx_packet(stralloc *,const char *,unsigned int);
 
78
extern int dns_mx(stralloc *,const stralloc *);
 
79
 
 
80
extern int dns_resolvconfrewrite(stralloc *);
 
81
extern int dns_ip4_qualify_rules(stralloc *,stralloc *,const stralloc *,const stralloc *);
 
82
extern int dns_ip4_qualify(stralloc *,stralloc *,const stralloc *);
 
83
 
 
84
#endif