亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dns.h.svn-base

?? 域名解析器的實現(xiàn)
?? SVN-BASE
?? 第 1 頁 / 共 2 頁
字號:

/*------------------------------------------------------------------------
 * I32_T  dnsr_get_query_id()
 * Purpose:   get the queue id from List
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                    
I32_T dnsr_get_query_id(PENDING_DNSR_MSG_PTR pMsg);

/*------------------------------------------------------------------------
 * I32_T  dnsr_get_client_qid()
 * Purpose:   get the client query id from List
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                    
I32_T dnsr_get_client_qid(PENDING_DNSR_MSG_PTR pMsg);

/*------------------------------------------------------------------------
 * I32_T  dnsr_add_query()
 * Purpose:   add the pkt to List
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                    
I32_T dnsr_add_query(PENDING_DNSR_MSG_PTR pMsg);

/*------------------------------------------------------------------------
 * BOOLEAN_T  dnsr_clear_query_id()
 * Purpose:   clear the specific query id
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                    
BOOLEAN_T dnsr_clear_query_id(UI32_T query_id);

/*------------------------------------------------------------------------
 * UI32_T  dnsr_check_query_id()
 * Purpose:   check the query list
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                    
UI32_T dnsr_check_query_id(void);

/*------------------------------------------------------------------------
 * I16_T  dnsr_abort()
 * Purpose:   clear the queue list
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                        
void dnsr_abort(void);

/*------------------------------------------------------------------------
 * I16_T  retrieve_query_by_id()
 * Purpose:   get packet content from index
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                       
void *retrieve_query_by_id(I16_T idx);


/*------------------------------------------------------------------------
 * BOOLEAN_T  dns_ask()
 * Purpose:  handle DNS request packet.   
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                       
BOOLEAN_T dns_ask(unsigned char *qname,  
                   PENDING_DNSR_MSG_PTR pMsg
                  );
                  
/*------------------------------------------------------------------------
 * I16_T  dns_receive()
 * Purpose: handle DNS reply packet.
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                       
int dns_receive(PENDING_DNSR_MSG_PTR pMsg,                            
                struct dns_header *hdr,
                unsigned char *msg,
                unsigned msg_len);                  
                  

/*
 * Called in various places to upcall application's error handler and
 * terminate query.
 */

/*
 * Basic query routine, available directly to applications, also used
 * by higher-level query routines.
 */


/*
 * Downcalled by application to abort a DNS query.
 */


/*
 * Given an IP address, get a name.
 */

/*
 * Defined in dns_util.c.
 */

/*
 * Returns error code or length of compressed name.  If buffer is
 * NULL, just skip over name, don't convert it into text format.
 */

int dns_decode_name
  (char *buffer,
   int buffer_length,
   unsigned char *name,
   unsigned char *msg,
   unsigned msg_len);

/*
 * Returns error code or length of encoded name.
 */

int dns_encode_name
  (unsigned char *buffer,
   unsigned buffer_length,
   char *name);

/*
 * Returns error code.
 */

enum dns_error dns_decode_header
  (unsigned char *msg,
   unsigned msg_len,
   struct dns_header *hdr);

/*
 * Returns error code or number of RRs decoded.
 */

int dns_decode_rrs
  (unsigned char *msg,          /* Network message ("packet") */
   unsigned msg_len,            /* Length of message */
   struct dns_header *hdr,      /* DNS header */
   struct dns_rr rr[],          /* Where to put parsed RRs */
   unsigned nrrs,               /* How many there are */   
   UI32_T now);                /* Current time */   

enum dns_error dns_decode_rcode
  (struct dns_header *hdr);

/*
 * Check a DNS response message for legality.
 *
 * Checks message headers.
 *
 * Checks CNAMEs in Answer section to make sure they form a valid path
 * from the QNAME to the name(s) of any other RRs in the Answer section.
 *
 * I can't think of any way that the non-CNAME RRs in the Answer
 * could legitimately have different names from each other, but
 * I'm not going to put such a check into this code until I have
 * time to double check this in the RFCs.
 *
 * Returns status code.
 */

enum dns_error dns_bless_message  
  (unsigned char *msg,          /* Network message ("packet") */
   unsigned msg_len,            /* Length of message */
   struct dns_header *hdr,      /* DNS header */
   struct dns_rr rrs[],         /* RRs from message */
   unsigned n_rrs);              /* Length of rrs[] */
/*
 * Compare two DNS names (internal format).
 *
 * Returns an integer value.  NB: The value returned is -not- like the
 * value returned by the normal C library strcmp() function, because
 * dns_namcmp() has to be able to return error codes as well.  Sorry.
 *
 * Return value will either be an error code (DNS_ERROR_xxx value) or one
 * of the following:
 *    DNS_NAMCMP_LESS:    first argument is "less" than second argument
 *    DNS_NAMCMP_EQUAL:   first argument is "equal" to second argument
 *    DNS_NAMCMP_GREATER: first argument is "greater" than second argument.
 * These correspond to the three return cases of the C strcmp() routine.
 *
 * For the peace of mind of application authors who only want to
 * compare two names for equality, the numeric value of
 * DNS_NAMCMP_EQUAL is hereby and henceforth defined to be zero.
 *
 * The msg and msg_len parameters for either name are ignored if that
 * name doesn't contain any compression pointers.
 */

#define DNS_NAMCMP_LESS         (1)
#define DNS_NAMCMP_EQUAL        (0)
#define DNS_NAMCMP_GREATER      (2)

extern int dns_namcmp
  (unsigned char *name1,
   unsigned char *msg1,
   unsigned msg1_len,
   unsigned char *name2,
   unsigned char *msg2,
   unsigned msg2_len);

/*
 * Compare DNS types and classes.
 */

int dns_t_match
  (unsigned wild,
      unsigned tame);

extern int dns_c_match
  (unsigned wild,
   unsigned tame);

/*
 * Validate DNS RR TTL.  "now" is a normal Attache time value, in milliseconds.
 */

  int dns_ttl_valid
  (struct dns_rr *r,
   UI32_T now);



/*
 * Defined in dns_cash.c.
 */

/*------------------------------------------------------------------------
 * void  dns_gc_init()
 * Purpose:   initialize dns cache
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                     
void dns_gc_init(void);

/*
 * Look for RRs in the cache.
 * Returns number of RRs found or a status code.
 */
/*------------------------------------------------------------------------
 * dns_lookup()
 * Purpose: Routine to look up cache entries.
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                       
 
int dns_lookup
    (unsigned char *qname,        /* Query name */
     unsigned qclass,             /* Query type */
     unsigned qtype,              /* Query class */
     struct dns_rr *rrs[],        /* Where to put results */
     int max_rrs);                 /* Length of rrs[] */

/*
 * Insert some RRs into the cache.
 * Returns a status code.
 */

/*------------------------------------------------------------------------
 * dns_cache_rrs()
 * Purpose: Routine to add all the RRs in a message to the cache.
 *          Returns status code.
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                       
enum dns_error dns_cache_rrs
    (unsigned char *msg,          /* Message containing RRs to cache */
     unsigned msg_len,            /* Length of message */
     struct dns_header *hdr,      /* Decoded DNS header */
     struct dns_rr rrs[],         /* Parsed RRs from msg */
     unsigned n_rrs);
          
/*
 * Insert an error "RR" into the negative response cache.
 * Returns a status code.
 */

/*
 * Mark as dead any RRs whose TTLs have expired, or which are intimately
 * related to RRs whose TTLs have expired.  Does not otherwise modify the
 * cache database, so is safe to run while the application holds pointers
 * into the cache.
 */

void dns_gc_mark(void);

/*
 * Remove from the cache any RRs which have been marked as dead by
 * dns_gc_mark().  Mucks with pointers and frees RR objects, so must not be
 * allowed to run while any part of the application holds pointers into the
 * cache.
 */

void dns_gc_sweep(void);

/*
 * Remove all RRs from the cache, regardless of their timeout state.
 * Mucks with pointers and frees RR objects, so must not be allowed to run
 * while any part of the application holds pointers into the cache.
 */

void dns_gc_nuke(void);

/*------------------------------------------------------------------------
 * UI32_T  dns_check_cache()
 * Purpose: check dns cache
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */                     
UI32_T dns_check_cache(void);

/*
 * Defined in dns_init.c.
 */

/*------------------------------------------------------------------------
 * void  dnsr_init()
 * Purpose: initialize dnsr config
 *          
 * Parameters:
 *    Input:
 *    Output:
 * returns :
 *------------------------------------------------------------------------
 */
void dnsr_init(void);

#endif /* DNS_H */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品久久久久久久久久久| 一区二区视频在线看| 经典一区二区三区| 日韩欧美成人午夜| 国产麻豆精品视频| 中文av字幕一区| 欧美性大战久久久久久久| 午夜精彩视频在线观看不卡| 日韩视频不卡中文| 国产91丝袜在线播放| 亚洲人成7777| 欧美一区2区视频在线观看| 国产一区二区在线观看免费| 国产精品素人视频| 欧美中文字幕一二三区视频| 日本亚洲电影天堂| 亚洲国产电影在线观看| 欧洲视频一区二区| 麻豆精品国产91久久久久久| 中文字幕欧美激情| 欧美日韩一二三区| 国产一区二区三区免费| 亚洲黄色av一区| 日韩一区二区三区在线| 成年人国产精品| 蜜桃久久av一区| 中文字幕制服丝袜一区二区三区| 精品视频一区 二区 三区| 国产毛片精品国产一区二区三区| 亚洲日本免费电影| 337p日本欧洲亚洲大胆精品| 色婷婷综合在线| 久久91精品久久久久久秒播| 亚洲桃色在线一区| 久久综合九色综合97_久久久| 色婷婷久久久久swag精品| 久草中文综合在线| 亚洲一区二区五区| 国产亚洲一区二区三区| 欧美乱熟臀69xxxxxx| caoporen国产精品视频| 蜜桃久久av一区| 亚洲激情综合网| 国产欧美一区二区三区在线看蜜臀| 欧洲人成人精品| 成人精品亚洲人成在线| 毛片av一区二区| 一区二区三区中文字幕电影 | 国产视频一区在线播放| 欧美精品v国产精品v日韩精品| 成人精品免费视频| 免费成人在线网站| 亚洲高清三级视频| 亚洲欧美日韩中文播放| 国产精品狼人久久影院观看方式| 亚洲精品在线网站| 制服丝袜国产精品| 欧美日韩电影在线播放| 色乱码一区二区三区88| 成人自拍视频在线观看| 国内精品久久久久影院薰衣草| 亚洲18影院在线观看| 一区二区三区四区乱视频| 中文字幕在线播放不卡一区| 国产欧美综合在线观看第十页| 日韩久久精品一区| 欧美一卡2卡三卡4卡5免费| 欧美日韩激情一区| 精品视频在线免费看| 欧洲一区二区三区免费视频| 色婷婷激情一区二区三区| av一区二区三区| av亚洲精华国产精华精| 不卡一区二区中文字幕| 成人免费视频播放| 粉嫩av亚洲一区二区图片| 国产精品中文字幕日韩精品| 国产真实乱对白精彩久久| 精品一区二区三区不卡| 精品一区二区三区蜜桃| 国产精品综合久久| 国产精品资源在线看| 国产99精品视频| 91亚洲永久精品| 日本精品视频一区二区| 在线观看亚洲精品视频| 欧美久久一区二区| 欧美一区二视频| 精品剧情在线观看| 国产偷国产偷精品高清尤物| 国产欧美日韩在线| 国产精品免费av| 一区二区三区四区亚洲| 日韩福利电影在线| 激情图片小说一区| 大桥未久av一区二区三区中文| 99精品国产91久久久久久 | 图片区小说区区亚洲影院| 午夜精品福利一区二区三区av | 在线观看国产一区二区| 91麻豆精品91久久久久同性| 日韩一区二区三区观看| 日本一区二区三区高清不卡| 亚洲精品国产高清久久伦理二区| 亚洲一区二区三区美女| 久久99国内精品| 97久久超碰精品国产| 欧美日韩高清一区二区三区| 26uuu国产电影一区二区| 中文字幕在线观看不卡视频| 亚洲成在人线在线播放| 国产麻豆成人传媒免费观看| 91麻豆国产福利精品| 欧美一区二区大片| 亚洲欧洲国产日本综合| 奇米四色…亚洲| 国产99久久久国产精品免费看| 在线欧美日韩国产| 精品国产成人系列| 亚洲少妇中出一区| 裸体一区二区三区| 色综合一区二区| 2020日本不卡一区二区视频| 亚洲一区二区三区不卡国产欧美| 精品一区二区三区在线观看国产 | 亚洲一区二区三区小说| 国内一区二区在线| 欧美色图一区二区三区| 国产午夜精品理论片a级大结局| 亚洲韩国精品一区| 丁香婷婷综合色啪| 日韩一区二区电影网| 亚洲欧美一区二区不卡| 九色综合狠狠综合久久| 在线观看视频一区| 国产精品三级电影| 精品一区二区在线看| 欧美日高清视频| 亚洲精品国产精华液| 岛国av在线一区| 日韩精品一区二区在线| 亚洲电影欧美电影有声小说| 99天天综合性| 国产农村妇女毛片精品久久麻豆 | 日本韩国一区二区| 国产欧美一区二区精品性色| 青娱乐精品视频| 欧美丝袜自拍制服另类| 亚洲色欲色欲www在线观看| 国产乱码字幕精品高清av| 91精品国产91久久久久久一区二区 | 国产成人免费在线视频| 91精品国产综合久久精品麻豆| 亚洲精品综合在线| 成人av午夜电影| 久久久精品tv| 国产原创一区二区| 精品久久国产老人久久综合| 日本伊人精品一区二区三区观看方式| 日本高清无吗v一区| 亚洲青青青在线视频| 99久久久无码国产精品| 国产精品国产三级国产有无不卡 | 午夜精品123| 欧美日韩视频在线第一区| 亚洲一级在线观看| 欧美亚洲国产怡红院影院| 亚洲精品国产精品乱码不99| 91福利精品视频| 亚洲激情图片一区| 欧美四级电影在线观看| 亚洲一二三级电影| 欧美美女黄视频| 开心九九激情九九欧美日韩精美视频电影 | 欧美在线视频不卡| 亚洲一区在线视频| 欧美日韩国产在线观看| 日本欧美大码aⅴ在线播放| 日韩视频在线你懂得| 另类调教123区| 国产色爱av资源综合区| 成人少妇影院yyyy| 一区二区高清视频在线观看| 欧美日韩成人综合天天影院| 日本欧美久久久久免费播放网| 欧美电影免费观看完整版| 国产美女视频一区| 国产精品久久久久久久久免费丝袜 | 国产精品99久久久久| 国产精品嫩草影院av蜜臀| 色94色欧美sute亚洲线路一久 | 精品一区二区三区免费毛片爱| 国产丝袜欧美中文另类| 91浏览器入口在线观看| 午夜久久久久久电影| ww亚洲ww在线观看国产| 99国产精品99久久久久久| 五月综合激情日本mⅴ| 久久久综合九色合综国产精品| av在线播放一区二区三区|