Lines Matching refs:e
1099 entry_free( Entry* e ) in entry_free() argument
1102 if (e) { in entry_free()
1103 free(e); in entry_free()
1108 entry_mru_remove( Entry* e ) in entry_mru_remove() argument
1110 e->mru_prev->mru_next = e->mru_next; in entry_mru_remove()
1111 e->mru_next->mru_prev = e->mru_prev; in entry_mru_remove()
1115 entry_mru_add( Entry* e, Entry* list ) in entry_mru_add() argument
1119 e->mru_next = first; in entry_mru_add()
1120 e->mru_prev = list; in entry_mru_add()
1122 list->mru_next = e; in entry_mru_add()
1123 first->mru_prev = e; in entry_mru_add()
1129 entry_hash( const Entry* e ) in entry_hash() argument
1133 _dnsPacket_init(pack, e->query, e->querylen); in entry_hash()
1140 entry_init_key( Entry* e, const void* query, int querylen ) in entry_init_key() argument
1144 memset(e, 0, sizeof(*e)); in entry_init_key()
1146 e->query = query; in entry_init_key()
1147 e->querylen = querylen; in entry_init_key()
1148 e->hash = entry_hash(e); in entry_init_key()
1159 Entry* e; in entry_alloc() local
1162 size = sizeof(*e) + init->querylen + answerlen; in entry_alloc()
1163 e = calloc(size, 1); in entry_alloc()
1164 if (e == NULL) in entry_alloc()
1165 return e; in entry_alloc()
1167 e->hash = init->hash; in entry_alloc()
1168 e->query = (const uint8_t*)(e+1); in entry_alloc()
1169 e->querylen = init->querylen; in entry_alloc()
1171 memcpy( (char*)e->query, init->query, e->querylen ); in entry_alloc()
1173 e->answer = e->query + e->querylen; in entry_alloc()
1174 e->answerlen = answerlen; in entry_alloc()
1176 memcpy( (char*)e->answer, answer, e->answerlen ); in entry_alloc()
1178 return e; in entry_alloc()
1439 Entry* e; in _cache_dump_mru() local
1442 for (e = cache->mru_list.mru_next; e != &cache->mru_list; e = e->mru_next) in _cache_dump_mru()
1443 p = _bprint(p, end, " %d", e->id); in _cache_dump_mru()
1534 Entry* e ) in _cache_add_p() argument
1536 *lookup = e; in _cache_add_p()
1537 e->id = ++cache->last_id; in _cache_add_p()
1538 entry_mru_add(e, &cache->mru_list); in _cache_add_p()
1542 e->id, cache->num_entries); in _cache_add_p()
1553 Entry* e = *lookup; in _cache_remove_p() local
1556 e->id, cache->num_entries-1); in _cache_remove_p()
1558 entry_mru_remove(e); in _cache_remove_p()
1559 *lookup = e->hlink; in _cache_remove_p()
1560 entry_free(e); in _cache_remove_p()
1586 Entry* e; in _cache_remove_expired() local
1589 for (e = cache->mru_list.mru_next; e != &cache->mru_list;) { in _cache_remove_expired()
1591 if (now >= e->expires) { in _cache_remove_expired()
1592 Entry** lookup = _cache_lookup_p(cache, e); in _cache_remove_expired()
1597 e = e->mru_next; in _cache_remove_expired()
1600 e = e->mru_next; in _cache_remove_expired()
1615 Entry* e; in _resolv_cache_lookup() local
1643 e = *lookup; in _resolv_cache_lookup()
1645 if (e == NULL) { in _resolv_cache_lookup()
1653 e = *lookup; in _resolv_cache_lookup()
1654 if (e == NULL) { in _resolv_cache_lookup()
1663 if (now >= e->expires) { in _resolv_cache_lookup()
1665 XLOG_QUERY(e->query, e->querylen); in _resolv_cache_lookup()
1670 *answerlen = e->answerlen; in _resolv_cache_lookup()
1671 if (e->answerlen > answersize) { in _resolv_cache_lookup()
1678 memcpy( answer, e->answer, e->answerlen ); in _resolv_cache_lookup()
1681 if (e != cache->mru_list.mru_next) { in _resolv_cache_lookup()
1682 entry_mru_remove( e ); in _resolv_cache_lookup()
1683 entry_mru_add( e, &cache->mru_list ); in _resolv_cache_lookup()
1686 XLOG( "FOUND IN CACHE entry=%p", e ); in _resolv_cache_lookup()
1703 Entry* e; in _resolv_cache_add() local
1731 e = *lookup; in _resolv_cache_add()
1733 if (e != NULL) { /* should not happen */ in _resolv_cache_add()
1735 __FUNCTION__, e); in _resolv_cache_add()
1746 e = *lookup; in _resolv_cache_add()
1747 if (e != NULL) { in _resolv_cache_add()
1749 __FUNCTION__, e); in _resolv_cache_add()
1756 e = entry_alloc(key, answer, answerlen); in _resolv_cache_add()
1757 if (e != NULL) { in _resolv_cache_add()
1758 e->expires = ttl + _time_now(); in _resolv_cache_add()
1759 _cache_add_p(cache, lookup, e); in _resolv_cache_add()