123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef VSF_LS_H
- #define VSF_LS_H
- struct mystr;
- struct mystr_list;
- struct vsf_sysutil_dir;
- /* vsf_ls_populate_dir_list()
- * PURPOSE
- * Given a directory handle, populate a formatted directory entry list (/bin/ls
- * format). Also optionally populate a list of subdirectories.
- * PARAMETERS
- * p_list - the string list object for the result list of entries
- * p_subdir_list - the string list object for the result list of
- * subdirectories. May be 0 if client is not interested.
- * p_dir - the directory object to be listed
- * p_base_dir_str - the directory name we are listing, relative to current
- * p_option_str - the string of options given to the LIST/NLST command
- * p_filter_str - the filter string given to LIST/NLST - e.g. "*.mp3"
- * is_verbose - set to 1 for LIST, 0 for NLST
- */
- void vsf_ls_populate_dir_list(struct mystr_list* p_list,
- struct mystr_list* p_subdir_list,
- struct vsf_sysutil_dir* p_dir,
- const struct mystr* p_base_dir_str,
- const struct mystr* p_option_str,
- const struct mystr* p_filter_str,
- int is_verbose);
- /* vsf_filename_passes_filter()
- * PURPOSE
- * Determine whether the given filename is matched by the given filter string.
- * The format of the filter string is a small subset of a regular expression.
- * Currently, just * and ? are supported.
- * PARAMETERS
- * p_filename_str - the filename to match
- * p_filter_str - the filter to match against
- * iters - pointer to a zero-seeded int which prevents the match
- * loop from running an excessive number of times
- * RETURNS
- * Returns 1 if there is a match, 0 otherwise.
- */
- int vsf_filename_passes_filter(const struct mystr* p_filename_str,
- const struct mystr* p_filter_str,
- unsigned int* iters);
- #endif /* VSF_LS_H */
|