-char *getHomeDir(void);
-
-char *getPath2(char *, char *);
-char *getPath3(char *, char *, char*);
-char *getStringCat2(char *, char *);
-char *getStringCopy(char *);
-char *getStringToLower(char *);
-void setString(char **, char *);
-
-void GetOptions(char **, void (*print_usage_function)(void));
-
-void SetError(char *, ...);
-char *GetError(void);
-void Error(int, char *, ...);
-
-void *checked_malloc(unsigned long);
-void *checked_calloc(unsigned long);
-void *checked_realloc(void *, unsigned long);
-
-inline void swap_numbers(int *, int *);
-inline void swap_number_pairs(int *, int *, int *, int *);
-
-short getFile16BitInteger(FILE *, int);
-void putFile16BitInteger(FILE *, short, int);
-int getFile32BitInteger(FILE *, int);
-void putFile32BitInteger(FILE *, int, int);
-boolean getFileChunk(FILE *, char *, int *, int);
-void putFileChunk(FILE *, char *, int, int);
-int getFileVersion(FILE *);
-void putFileVersion(FILE *, int);
-void ReadUnusedBytesFromFile(FILE *, unsigned long);
-void WriteUnusedBytesToFile(FILE *, unsigned long);
-
-#define getFile8Bit(f) fgetc(f)
-#define putFile8Bit(f,x) fputc(x, f)
+char *getFixedUserName(char *);
+char *getDefaultUserName(int);
+
+char *getTimestampFromEpoch(time_t);
+char *getCurrentTimestamp(void);
+
+time_t getFileTimestampEpochSeconds(char *);
+
+char *getBasePath(char *);
+char *getBaseName(char *);
+char *getBaseNamePtr(char *);
+char *getBaseNameNoSuffix(char *);
+
+char *getStringCat2WithSeparator(const char *, const char *, const char *);
+char *getStringCat3WithSeparator(const char *, const char *, const char *, const char *);
+char *getStringCat2(const char *, const char *);
+char *getStringCat3(const char *, const char *, const char *);
+char *getPath2(const char *, const char *);
+char *getPath3(const char *, const char *, const char *);
+char *getImg2(const char *, const char *);
+char *getImg3(const char *, const char *, const char *);
+char *getStringCopy(const char *);
+char *getStringCopyN(const char *, int);
+char *getStringCopyNStatic(const char *, int);
+char *getStringToLower(const char *);
+void setString(char **, const char *);
+boolean strEqual(const char *, const char *);
+boolean strEqualN(const char *, const char *, int);
+boolean strEqualCase(const char *, const char *);
+boolean strEqualCaseN(const char *, const char *, int);
+boolean strPrefix(const char *, const char *);
+boolean strSuffix(const char *, const char *);
+boolean strPrefixLower(const char *, const char *);
+boolean strSuffixLower(const char *, const char *);
+boolean isURL(const char *);
+
+void GetOptions(int, char **,
+ void (*print_usage_function)(void),
+ void (*print_version_function)(void));
+
+void *checked_malloc(unsigned int);
+void *checked_calloc(unsigned int);
+void *checked_realloc(void *, unsigned int);
+void checked_free(void *);
+void clear_mem(void *, unsigned int);
+
+void swap_numbers(int *, int *);
+void swap_number_pairs(int *, int *, int *, int *);
+int get_number_of_bits(int);
+
+int getFile8BitInteger(File *);
+int putFile8BitInteger(FILE *, int);
+int getFile16BitInteger(File *, int);
+int putFile16BitInteger(FILE *, int, int);
+int getFile32BitInteger(File *, int);
+int putFile32BitInteger(FILE *, int, int);
+
+boolean getFileChunk(File *, char *, int *, int);
+int putFileChunk(FILE *, char *, int, int);
+int getFileVersion(File *);
+int putFileVersion(FILE *, int);
+
+void ReadBytesFromFile(File *, byte *, unsigned int);
+void WriteBytesToFile(FILE *, byte *, unsigned int);
+
+void ReadUnusedBytesFromFile(File *, unsigned int);
+void WriteUnusedBytesToFile(FILE *, unsigned int);
+
+#define getFile8Bit(f) getFile8BitInteger(f)
+#define putFile8Bit(f,x) putFile8BitInteger(f,x)