mc/src/file.h
Miguel de Icaza a7996c0a20 Weee!
Ok, finally splitted the GUI code that dealt with the file operations into
a separate file.  It is now possible to write a native Gtk version of this.

Until the Gtk-native version is done, the code in mc/gnome/ is linking with
filegui.c.

Miguel
1998-11-18 02:31:23 +00:00

89 lines
2.1 KiB
C

#ifndef __FILE_H
#define __FILE_H
#include "background.h"
typedef enum {
OP_COPY,
OP_MOVE,
OP_DELETE
} FileOperation;
extern char *op_names [3];
typedef enum {
FILE_CONT,
FILE_RETRY,
FILE_SKIP,
FILE_ABORT
} FileProgressStatus;
enum {
RECURSIVE_YES,
RECURSIVE_NO,
RECURSIVE_ALWAYS,
RECURSIVE_NEVER,
RECURSIVE_ABORT
} FileCopyMode;
extern int know_not_what_am_i_doing;
struct link;
int copy_file_file (char *s, char *d, int ask_overwrite);
int move_file_file (char *s, char *d);
int erase_dir (char *s);
int erase_dir_iff_empty (char *s);
int move_dir_dir (char *s, char *d);
int copy_dir_dir (char *s, char *d, int toplevel, int move_over,
int delete, struct link *parent_dirs);
/*
* Manually creating the copy/move/delte dialogs
*/
void create_op_win (FileOperation op, int with_eta);
void destroy_op_win (void);
void refresh_op_win (void);
int panel_operate (void *source_panel, FileOperation op, char *thedefault);
void file_mask_defaults (void);
char *file_mask_dialog (FileOperation operation, char *text, char *def_text,
int only_one, int *do_background);
#ifdef WANT_WIDGETS
char *panel_operate_generate_prompt (char* cmd_buf,
WPanel* panel,
int operation, int only_one,
struct stat* src_stat);
#endif
extern int dive_into_subdirs;
/* Error reporting routines */
/* Skip/Retry/Abort routine */
int do_file_error (char *error);
/* Report error with one file */
int file_error (char *format, char *file);
/* Report error with two files */
int files_error (char *format, char *file1, char *file2);
/* This one just displays buf */
int do_file_error (char *buf);
/* Query routines */
/* Replace existing file */
int query_replace (char *destname, struct stat *_s_stat, struct stat *_d_stat);
/* Query recursive delete */
int query_recursive (char *s);
/* Callback routine for background activity */
int background_attention (int fd, void *info);
extern int background_wait;
int is_wildcarded (char *p);
#endif