摸着石头过河
分类: C/C++
2014-09-29 09:11:15
} packet_type;uint8_t label_count ;//是对域名中数字个数或者是说域名分级数的计数
uchar domain[256];
uint8_t *label[64];//指针数组,每个指针指向每级域名的首个字符之前的数字字符
uint8_t label_offsets[64];//每级域名中的数字字符的偏移量
uint8_t label_len[64];
hashval_t hash[64];
// uchar origindomain[256];
struct mvalue {4、struct hentry {
uint16_t len; //记录了缓冲区中域名(对应ns记录)和ip地址(对应A或AAAA记录)的总长度
uint16_t num;//记录了缓冲区中域名(对应ns记录)和ip地址(对应A或AAAA记录)的总个数
uint32_t ttl;
uint32_t hits;
uint16_t seg; //when there is no memory segment, seg == 0
//uint16_t off.
//something...
};
union {};
uchar *vals[SUPPORT_TYPE_NUM];
type_value val; //该结构体是有指针够成的,里面每个指针都与记录类型对应,且每个指针指向一个缓冲区,
//该缓冲区由mvalue和记录类型后的字段(域名或者ip,可能有多个,他们均是一个待解析的域名对应的)够成。
};
struct hentry *next;
int count;
uchar key[0];//柔性数组,里存储了待解析的域名