home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / CMDS / mtools_3.6.src.lzh / MTOOLS_3.6 / nameclash.h < prev    next >
Text File  |  1997-11-12  |  1KB  |  54 lines

  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.     char * (*name_converter)(char *filename, int verbose, 
  36.                  int *mangled, char *ans);
  37. } ClashHandling_t;
  38.  
  39. /* write callback */
  40. typedef struct directory * (write_data_callback)(char *,char *,
  41.                           void *, struct directory *);
  42.  
  43. int mwrite_one(Stream_t *Dir,
  44.            char *argname,
  45.            char *shortname,
  46.            write_data_callback *cb,
  47.            void *arg,
  48.            ClashHandling_t *ch);
  49.  
  50. int handle_clash_options(ClashHandling_t *ch, char c);
  51. void init_clash_handling(ClashHandling_t *ch);
  52.  
  53. #endif
  54.