/****************************************************************************
 #
 # Copyright (c) 1996-2023 Vladi Belperchinov-Shabanski "Cade" 
 # https://cade.noxrun.com/  <cade@noxrun.com> <cade@bis.bg>
 # https://cade.noxrun.com/projects/vfu     https://github.com/cade-vs/vfu
 #
 # SEE `README',`LICENSE' OR `COPYING' FILE FOR LICENSE AND OTHER DETAILS!
 #
 ****************************************************************************/

#ifndef _VFUFILES_H_
#define _VFUFILES_H_

#include "vfu.h"

int  files_list_count();
int  files_list_is_empty( int pos );
TF*  files_list_get( int pos );
void files_list_set( int pos, TF* fp );
void files_list_add( TF* fp );
void files_list_trim(); // remove last TF* item
void files_list_del( int pos );
void files_list_pack();
void files_list_clear();

/*###########################################################################*/

const char* file_type_str( mode_t mode, int is_link );

/*###########################################################################*/

void vfu_rescan_files( int a_recursive = 0 );

void vfu_read_files( int a_recursive = 0 );
int vfu_add_file( const char* fname, const struct stat *st, int is_link );

void vfu_read_archive_files( int a_recursive );
void vfu_read_local_files( int a_recursive );
void vfu_read_external_files();
void vfu_read_pszlist_files();

int vfu_fmask_match( const char* fname );

/*###########################################################################*/

void vfu_file_entry_move();

/*###########################################################################*/

int namenumcmp( const char* s1, const char* s2 );

int ficmp(int fn1, TF *f2);
void __vfu_sort(int l, int r);
void vfu_sort_files();
void vfu_arrange_files();


/*###########################################################################*/

#endif //_VFUFILES_H_

