📄 dns.h
字号:
#ifndef DNS_H#define DNS_H#include "stralloc.h"#include "iopause.h"#include "taia.h"#define DNS_C_IN "\0\1"#define DNS_C_ANY "\0\377"#define DNS_T_A "\0\1"#define DNS_T_NS "\0\2"#define DNS_T_CNAME "\0\5"#define DNS_T_SOA "\0\6"#define DNS_T_PTR "\0\14"#define DNS_T_HINFO "\0\15"#define DNS_T_MX "\0\17"#define DNS_T_TXT "\0\20"#define DNS_T_RP "\0\21"#define DNS_T_SIG "\0\30"#define DNS_T_KEY "\0\31"#define DNS_T_AAAA "\0\34"#define DNS_T_AXFR "\0\374"#define DNS_T_ANY "\0\377"struct dns_transmit { char *query; /* 0, or dynamically allocated */ unsigned int querylen; char *packet; /* 0, or dynamically allocated */ unsigned int packetlen; int s1; /* 0, or 1 + an open file descriptor */ int tcpstate; unsigned int udploop; unsigned int curserver; struct taia deadline; unsigned int pos; char *servers; char localip[4]; char qtype[2];} ;extern void dns_random_init(char *);extern unsigned int dns_random(unsigned int);extern void dns_sortip(char *,unsigned int);extern void dns_sortip6(char *,unsigned int);extern void dns_domain_free(char **);extern int dns_domain_copy(char **,char *);extern unsigned int dns_domain_length(const char *);extern int dns_domain_equal(const char *,const char *);extern char *dns_domain_suffix(const char *big,const char *little);extern int dns_domain_fromdot(char **,const char *,unsigned int);extern int dns_domain_todot_cat(stralloc *,const char *);extern unsigned int dns_packet_copy(const char *,unsigned int,unsigned int,char *,unsigned int);extern unsigned int dns_packet_getname(const char *,unsigned int,unsigned int,char **);extern unsigned int dns_packet_skipname(const char *,unsigned int,unsigned int);extern int dns_packet_nameequal(char *,unsigned int,unsigned int,char *,unsigned int,unsigned int);extern int dns_transmit_start(struct dns_transmit *,char *,int,const char *,const char *,const char *);extern void dns_transmit_free(struct dns_transmit *);extern void dns_transmit_io(struct dns_transmit *,iopause_fd *,struct taia *);extern int dns_transmit_get(struct dns_transmit *,iopause_fd *,struct taia *);extern int dns_resolvconfip(char *);extern int dns_resolve(const char *,const char *);extern struct dns_transmit dns_resolve_tx;extern int dns_ip4_packet(stralloc *,const char *,unsigned int);extern int dns_ip4(stralloc *,stralloc *);extern int dns_ip6_packet(stralloc *,const char *,unsigned int);extern int dns_ip6(stralloc *,stralloc *);extern int dns_ip6_4mapped(stralloc *,stralloc *); /* dns_ip4 converted to IPv4-mapped */extern int dns_name_packet(stralloc *,const char *,unsigned int);extern void dns_name4_domain(char *,const char *ip);#define DNS_NAME4_DOMAIN 31extern int dns_name6_domain(char *,const char *ip);#define DNS_NAME6_DOMAIN (4*16+15)extern int dns_name4(stralloc *,const char *ip);extern int dns_name6(stralloc *,const char *ip);extern int dns_txt_packet(stralloc *,const char *,unsigned int);extern int dns_txt(stralloc *,stralloc *);extern int dns_mx_packet(stralloc *,const char *,unsigned int);extern int dns_mx(stralloc *,stralloc *);extern int dns_resolvconfrewrite(stralloc *);extern int dns_ip4_qualify_rules(stralloc *,stralloc *,stralloc *,stralloc *);extern int dns_ip4_qualify(stralloc *,stralloc *,stralloc *);extern int dns_ip6_qualify_rules(stralloc *,stralloc *,stralloc *,stralloc *);extern int dns_ip6_qualify(stralloc *,stralloc *,stralloc *);extern int dns_ip6_qualify_4mapped(stralloc *,stralloc *,stralloc *);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -