+static const struct lookup_table_entry *
+dentry_first_lte(const struct dentry *dentry, const struct lookup_table *table)
+{
+ const struct lookup_table_entry *lte;
+ if (dentry->resolved) {
+ if (dentry->lte)
+ return dentry->lte;
+ for (u16 i = 0; i < dentry->num_ads; i++)
+ if (dentry->ads_entries[i].lte)
+ return dentry->ads_entries[i].lte;
+ } else {
+ const u8 *hash = dentry->hash;
+ u16 i = 0;
+ while (1) {
+ if ((lte = __lookup_resource(table, hash)))
+ break;
+ if (i == dentry->num_ads)
+ return NULL;
+ hash = dentry->ads_entries[i].hash;
+ i++;
+ }
+ }
+ return NULL;
+}
+