-int FS_Seek (qfile_t* file, long offset, int whence);
-long FS_Tell (qfile_t* file);
-char *FS_Gets (qfile_t* file, char* buffer, int buffersize);
-char *FS_Getline (qfile_t *file); // DO NOT FREE the returned buffer
-int FS_Eof (qfile_t* file);
+int FS_UnGetc (qfile_t* file, unsigned char c);
+int FS_Seek (qfile_t* file, fs_offset_t offset, int whence);
+fs_offset_t FS_Tell (qfile_t* file);
+void FS_Purge (qfile_t* file);
+
+typedef struct fssearch_s
+{
+ int numfilenames;
+ char **filenames;
+ // array of filenames
+ char *filenamesbuffer;
+}
+fssearch_t;
+
+fssearch_t *FS_Search(const char *pattern, int caseinsensitive, int quiet);
+void FS_FreeSearch(fssearch_t *search);