1
0
This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
TP-Link_Archer-XR500v/BBA1.5_platform/apps/public/vsftpd-2.3.2/ls.h
2024-07-22 01:58:46 -03:00

49 lines
2.0 KiB
C

#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 */