DP QC FS SEARCH
From Quake Wiki
float(string pattern, float caseinsensitive, float quiet) search_begin = #444; void(float handle) search_end = #445; float(float handle) search_getsize = #446; string(float handle, float num) search_getfilename = #447;
search_begin performs a filename search with the specified pattern (for example "maps/*.bsp") and stores the results in a search slot (minimum of 128 supported by any engine with this extension), the other functions take this returned search slot number, be sure to search_free when done (they are also freed on progs reload).
search_end frees a search slot (also done at progs reload).
search_getsize returns how many filenames were found.
search_getfilename returns a filename from the search.