1 #ifndef MAGICRESCUE_MAGICRESCUE_H 2 #define MAGICRESCUE_MAGICRESCUE_H 3 4 #include "util.h" 5 6 enum OUTPUT_MODE { OUT_HUMAN = 0, OUT_I = 1, OUT_O = 2, OUT_IO = 3 }; 7 enum NAME_MODE { MODE_DEVICE, MODE_FILES }; 8 9 struct progress { 10 off_t position; 11 char device[PATH_MAX]; 12 char device_basename[PATH_MAX]; 13 }; 14 15 extern char *output_dir; 16 extern enum OUTPUT_MODE machine_output; 17 extern enum NAME_MODE name_mode; 18 extern struct progress progress; 19 20 /* 21 * Extraction 22 */ 23 int run_shell(int fd, off_t offset, const char *command, 24 const char *argument, int *stdout_pipe); 25 void rename_output(int fd, off_t offset, const char *command, 26 char *origname); 27 off_t extract(int fd, struct recipe *r, off_t offset); 28 29 #endif /* MAGICRESCUE_MAGICRESCUE_H */ 30