Rev | Line | |
---|
[9] | 1 | #ifndef MTOOLS_NAMECLASH_H
|
---|
| 2 | #define MTOOLS_NAMECLASH_H
|
---|
| 3 |
|
---|
| 4 | #include "stream.h"
|
---|
| 5 |
|
---|
| 6 | typedef enum clash_action {
|
---|
| 7 | NAMEMATCH_NONE,
|
---|
| 8 | NAMEMATCH_AUTORENAME,
|
---|
| 9 | NAMEMATCH_QUIT,
|
---|
| 10 | NAMEMATCH_SKIP,
|
---|
| 11 | NAMEMATCH_RENAME,
|
---|
| 12 | NAMEMATCH_PRENAME, /* renaming of primary name */
|
---|
| 13 | NAMEMATCH_OVERWRITE,
|
---|
| 14 | NAMEMATCH_ERROR,
|
---|
| 15 | NAMEMATCH_SUCCESS,
|
---|
| 16 | NAMEMATCH_GREW
|
---|
| 17 | } clash_action;
|
---|
| 18 |
|
---|
| 19 | /* clash handling structure */
|
---|
| 20 | typedef struct ClashHandling_t {
|
---|
| 21 | clash_action action[2];
|
---|
| 22 | clash_action namematch_default[2];
|
---|
| 23 |
|
---|
| 24 | int nowarn; /* Don't ask, just do default action if name collision*/
|
---|
| 25 | int got_slots;
|
---|
| 26 | int mod_time;
|
---|
| 27 | /* unsigned int dot; */
|
---|
| 28 | char *myname;
|
---|
| 29 | unsigned char *dosname;
|
---|
| 30 | int single;
|
---|
| 31 |
|
---|
| 32 | int use_longname;
|
---|
| 33 | int ignore_entry;
|
---|
| 34 | int source; /* to prevent the source from overwriting itself */
|
---|
| 35 | int source_entry; /* to account for the space freed up by the original
|
---|
| 36 | * name */
|
---|
| 37 | char * (*name_converter)(char *filename, int verbose,
|
---|
| 38 | int *mangled, char *ans);
|
---|
| 39 | } ClashHandling_t;
|
---|
| 40 |
|
---|
| 41 | /* write callback */
|
---|
| 42 | typedef int (write_data_callback)(char *,char *, void *, struct direntry_t *);
|
---|
| 43 |
|
---|
| 44 | int mwrite_one(Stream_t *Dir,
|
---|
| 45 | const char *argname,
|
---|
| 46 | const char *shortname,
|
---|
| 47 | write_data_callback *cb,
|
---|
| 48 | void *arg,
|
---|
| 49 | ClashHandling_t *ch);
|
---|
| 50 |
|
---|
| 51 | int handle_clash_options(ClashHandling_t *ch, char c);
|
---|
| 52 | void init_clash_handling(ClashHandling_t *ch);
|
---|
| 53 | Stream_t *createDir(Stream_t *Dir, const char *filename, ClashHandling_t *ch,
|
---|
| 54 | unsigned char attr, time_t mtime);
|
---|
| 55 |
|
---|
| 56 |
|
---|
| 57 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.