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