/* * udl - Convert EOL formats freely between MS-DOS (CR/LF), Unix/Amiga (LF), * and Apple (CR). * * Header file for routines common to both the Unix and Apple IIgs versions. * * $Id: common.h,v 1.9 1996/02/04 01:34:27 gdr Exp $ * * Copyright (c) 1993-1995 Soenke Behrens, Devin Reade */ #include #include #include #include #include #include #include #include #include #include #include #define BUFFERSIZE 0x2000 #define PATHLIST_QUANTUM 20 #define UDL_VERSION "Version 1.1.5" #define STACKSIZE 2048 #define BYTES_PER_DEPTH 40 #define BASESIZE 700 /* define the equivalents of LF and CR that your compiler uses */ /* "Standard" settings should work for most systems */ #define LF '\n' #define CR '\r' #ifndef FALSE # define FALSE 0 # define TRUE !FALSE #endif #ifndef EXIT_FAILURE # define EXIT_FAILURE 1 # define EXIT_SUCCESS 0 #endif #ifdef HAS_ATEXIT # define EXIT(a) exit(a) #else # define EXIT(a) { cleanup(); exit(a); } #endif enum file_format { unknown = 0, tunix = 1, dos, apple, binary }; /* Since udl is so small, I dare to use some globals :) */ extern char *program_name; /* How was udl invoked? */ extern char *current_file; /* Name of current file */ extern char *tempfile; /* Name of temporary file */ extern unsigned char *in_buffer; /* My own buffering scheme instead of */ extern unsigned char *out_buffer; /* setvbuf() */ extern int verbose; extern char filebuffer[MAXPATHLEN]; /* a scratch buffer for file names */ extern char currentDirectory[MAXPATHLEN]; extern char rootdir[MAXPATHLEN]; /* the initial directory */ extern struct stat tstat; /* temporary variable used to stat files */ extern int pathSlotsUsed; /* number of used and available slots in pathList,*/ extern int pathSlots; /* respectively. Both are initially zero. */ extern char **pathList; /* the list of files to process, given relative */ /* to the initial directory. Initially NULL, */ /* and NULL terminated. */ extern char dirbrk; /* the character used to separate parts of a path name */ extern int recursionDepth; /* levels of subdirectories that we've traversed */ extern int optind; /* part of getopt library */ extern int opterr; /* Prototypes of functions in common.c */ extern void convert_gs (FILE *infile, FILE *outfile); extern void convert_messy (FILE *infile, FILE *outfile); extern void convert_tunix (FILE *infile, FILE *outfile); extern int convert_fast_gs (FILE *infile, FILE *outfile); extern int convert_fast_messy (FILE *infile, FILE *outfile); extern int convert_fast_tunix (FILE *infile, FILE *outfile); extern enum file_format get_file_format (unsigned char *buffer); extern FILE *tryopen (char *file, char *mode); extern int my_fread (FILE *infile, int howmuch); extern void my_fwrite (unsigned char *buffer, FILE *outfile, int howmuch); extern void cleanup (void); extern void usage (void); extern void build_file_list(char *file, short recurse); extern void add_to_pathList(char *thisdir, char *file); extern char *Mktemp(const char *base); extern char *get_path(const char *name); extern int needsgno(void); /* not strictly necessary, but it cuts down on warnings from gcc */ #if defined(__GNUC__) || defined(_AIX) extern char *getwd(char *); #endif #if defined (__GNUC__) && !defined (__DJGPP__) extern char getopt(int, char **, char *); #endif /* End Of File */