HuntnGather – Rev 33
?pathlinks?
///////////////////////////////////////////////////////////////////////////
// Copyright (C) 2021 Wizardry and Steamworks - License: MIT //
///////////////////////////////////////////////////////////////////////////
#if !defined TRUE
#define TRUE 1;
#endif
#if !defined FALSE
#define FALSE 0;
#endif
#define ASYNC_BUF 8192
#define MAX_MEM 262144
#define LINE_BUF 256
/* Remove these once Hunt has been revamped. */
#define NAME_BUF 32
#define PATH_BUF 128
/* ***************************************** */
#define DEFAULT_DATABASE_FILE "S:gather.db"
typedef enum FS_TYPE {
UNKNOWN,
REGULAR,
DIRECTORY
} FS_TYPE;
typedef struct {
int dirs;
int files;
int lines;
int size;
} dbStats;
typedef struct {
char *name;
char *path;
} dbEntry;
typedef enum OPERATION {
NONE,
GATHER,
REMOVE,
CREATE
} OPERATION;
extern int PROGRAM_RUN;
extern int PROGRAM_VERBOSE;
#if defined ___AmigaOS___
extern LONG StringLenMax(char *a, char *b);
#else
extern int StrlenMax(char *a, char *b);
#endif
extern void StrUpr(char *);
extern FS_TYPE GetFsType(char *path);
extern int CountFileLines(char *dbFile);
extern char *PathToAbsolute(char *path);
#if defined ___AmigaOS___
extern BOOL PathCompare(char *path, char *look);
#else
extern int PathCompare(char *path, char *look);
#endif
extern char *CreateTemporaryFile(void);
extern char **CreateTemporaryFiles(int files);
#if defined ___AsyncIO___
extern void SkipLine(struct AsyncFile *fp);
#else
void SkipLine(FILE *fp);
#endif
#if defined ___AsyncIO___
extern char *PeekLine(struct AsyncFile *fp);
#else
extern char *PeekLine(FILE *fp);
#endif
#if defined ___AsyncIO___
extern char *ReadLine(struct AsyncFile *fp);
#else
extern char *ReadLine(FILE *fp);
#endif
#if defined ___AmigaOS___
extern BOOL RemoveFile(char *name);
#else
extern int RemoveFile(char *name);
#endif
extern void RemoveFiles(char **names, int count);
extern void CopyFile(char *a, char *b);
extern dbEntry* CreateDatabaseEntry(char *line);