/** \file file.h * \brief Header: File and directory operation routines */ #ifndef MC_FILE_H #define MC_FILE_H #include "global.h" #include /* off_t */ #include "fileopctx.h" #include "dialog.h" /* Dlg_head */ #include "widget.h" /* WLabel */ struct link; FileProgressStatus copy_file_file (FileOpContext *ctx, const char *s, const char *d, int ask_overwrite, off_t *progress_count, double *progress_bytes, int is_toplevel_file); FileProgressStatus move_dir_dir (FileOpContext *ctx, const char *s, const char *d, off_t *progress_count, double *progress_bytes); FileProgressStatus copy_dir_dir (FileOpContext *ctx, const char *s, const char *d, int toplevel, int move_over, int delete, struct link *parent_dirs, off_t *progress_count, double *progress_bytes); FileProgressStatus erase_dir (FileOpContext *ctx, const char *s, off_t *progress_count, double *progress_bytes); int panel_operate (void *source_panel, FileOperation op, int force_single); extern int file_op_compute_totals; /* Error reporting routines */ /* Report error with one file */ FileProgressStatus file_error (const char *format, const char *file); /* Compute directory size */ /* callback to update status dialog */ typedef FileProgressStatus (*compute_dir_size_callback)(const void *ui, const char *dirname); /* return value is FILE_CONT or FILE_ABORT */ FileProgressStatus compute_dir_size (const char *dirname, const void *ui, compute_dir_size_callback cback, off_t *ret_marked, double *ret_total); /* status dialog of directory size computing */ typedef struct { Dlg_head *dlg; WLabel *dirname; } ComputeDirSizeUI; ComputeDirSizeUI *compute_dir_size_create_ui (void); void compute_dir_size_destroy_ui (ComputeDirSizeUI *ui); FileProgressStatus compute_dir_size_update_ui (const void *ui, const char *dirname); #endif /* MC_FILE_H */