Lines Matching full:mdp

69 static void			moduledir_readhints(struct moduledir *mdp);
1128 struct moduledir *mdp; in file_search() local
1149 STAILQ_FOREACH(mdp, &moduledir_list, d_link) { in file_search()
1150 result = file_lookup(mdp->d_path, name, namelen, extlist); in file_search()
1161 mod_search_hints(struct moduledir *mdp, const char *modname, in mod_search_hints() argument
1168 moduledir_readhints(mdp); in mod_search_hints()
1173 if (mdp->d_hints == NULL) in mod_search_hints()
1175 recptr = mdp->d_hints; in mod_search_hints()
1176 bufend = recptr + mdp->d_hintsz; in mod_search_hints()
1190 INT_ALIGN(mdp->d_hints, cp); in mod_search_hints()
1215 result = file_lookup(mdp->d_path, (const char *)cp, clen, NULL); in mod_search_hints()
1217 result = file_lookup(mdp->d_path, (const char *)best, blen, NULL); in mod_search_hints()
1224 result = file_lookup(mdp->d_path, modname, modnamelen, kld_ext_list); in mod_search_hints()
1331 devmatch_search_hints(struct moduledir *mdp, const char *bus, const char *dev, const char *pnpinfo) in devmatch_search_hints() argument
1338 moduledir_readhints(mdp); in devmatch_search_hints()
1340 if (mdp->d_hints == NULL) in devmatch_search_hints()
1342 walker = mdp->d_hints; in devmatch_search_hints()
1343 hints_end = walker + mdp->d_hintsz; in devmatch_search_hints()
1512 struct moduledir *mdp; in mod_searchmodule() local
1520 STAILQ_FOREACH(mdp, &moduledir_list, d_link) { in mod_searchmodule()
1521 result = mod_search_hints(mdp, name, verinfo); in mod_searchmodule()
1532 struct moduledir *mdp; in mod_searchmodule_pnpinfo() local
1540 STAILQ_FOREACH(mdp, &moduledir_list, d_link) { in mod_searchmodule_pnpinfo()
1541 result = devmatch_search_hints(mdp, bus, NULL, pnpinfo); in mod_searchmodule_pnpinfo()
1681 moduledir_fullpath(struct moduledir *mdp, const char *fname) in moduledir_fullpath() argument
1685 cp = malloc(strlen(mdp->d_path) + strlen(fname) + 2); in moduledir_fullpath()
1688 strcpy(cp, mdp->d_path); in moduledir_fullpath()
1698 moduledir_readhints(struct moduledir *mdp) in moduledir_readhints() argument
1704 if (mdp->d_hints != NULL || (mdp->d_flags & MDIR_NOHINTS)) in moduledir_readhints()
1706 path = moduledir_fullpath(mdp, "linker.hints"); in moduledir_readhints()
1711 mdp->d_flags |= MDIR_NOHINTS; in moduledir_readhints()
1719 mdp->d_hints = malloc(size); in moduledir_readhints()
1720 if (mdp->d_hints == NULL) in moduledir_readhints()
1722 if (read(fd, mdp->d_hints, size) != size) in moduledir_readhints()
1724 mdp->d_hintsz = size; in moduledir_readhints()
1729 free(mdp->d_hints); in moduledir_readhints()
1730 mdp->d_hints = NULL; in moduledir_readhints()
1731 mdp->d_flags |= MDIR_NOHINTS; in moduledir_readhints()
1741 struct moduledir *mdp, *mtmp; in moduledir_rebuild() local
1751 STAILQ_FOREACH(mdp, &moduledir_list, d_link) in moduledir_rebuild()
1752 mdp->d_flags |= MDIR_REMOVED; in moduledir_rebuild()
1763 STAILQ_FOREACH(mdp, &moduledir_list, d_link) { in moduledir_rebuild()
1764 if (strlen(mdp->d_path) != cplen || bcmp(cp, mdp->d_path, cplen) != 0) in moduledir_rebuild()
1766 mdp->d_flags &= ~MDIR_REMOVED; in moduledir_rebuild()
1769 if (mdp == NULL) { in moduledir_rebuild()
1770 mdp = malloc(sizeof(*mdp) + cplen + 1); in moduledir_rebuild()
1771 if (mdp == NULL) in moduledir_rebuild()
1773 mdp->d_path = (char*)(mdp + 1); in moduledir_rebuild()
1774 bcopy(cp, mdp->d_path, cplen); in moduledir_rebuild()
1775 mdp->d_path[cplen] = 0; in moduledir_rebuild()
1776 mdp->d_hints = NULL; in moduledir_rebuild()
1777 mdp->d_flags = 0; in moduledir_rebuild()
1778 STAILQ_INSERT_TAIL(&moduledir_list, mdp, d_link); in moduledir_rebuild()
1786 mdp = STAILQ_FIRST(&moduledir_list); in moduledir_rebuild()
1787 while (mdp) { in moduledir_rebuild()
1788 if ((mdp->d_flags & MDIR_REMOVED) == 0) { in moduledir_rebuild()
1789 mdp = STAILQ_NEXT(mdp, d_link); in moduledir_rebuild()
1791 free(mdp->d_hints); in moduledir_rebuild()
1792 mtmp = mdp; in moduledir_rebuild()
1793 mdp = STAILQ_NEXT(mdp, d_link); in moduledir_rebuild()