1 #ifndef __FILE_H 2 #define __FILE_H 1 3 4 #include <sys/stat.h> 5 6 #include "common.h" 7 8 int __imlib_IsRealFile(const char *s); 9 char *__imlib_FileKey(const char *file); 10 char *__imlib_FileRealFile(const char *file); 11 12 const char *__imlib_FileExtension(const char *file); 13 14 int __imlib_FileStat(const char *file, struct stat *st); 15 16 static inline time_t __imlib_StatModDate(const struct stat * st)17__imlib_StatModDate(const struct stat *st) 18 { 19 return (st->st_mtime > st->st_ctime) ? st->st_mtime : st->st_ctime; 20 } 21 22 static inline int __imlib_StatIsFile(const struct stat * st)23__imlib_StatIsFile(const struct stat *st) 24 { 25 return S_ISREG(st->st_mode); 26 } 27 28 static inline int __imlib_StatIsDir(const struct stat * st)29__imlib_StatIsDir(const struct stat *st) 30 { 31 return S_ISDIR(st->st_mode); 32 } 33 34 int __imlib_FileExists(const char *s); 35 int __imlib_FileIsFile(const char *s); 36 int __imlib_FileIsDir(const char *s); 37 time_t __imlib_FileModDate(const char *s); 38 time_t __imlib_FileModDateFd(int fd); 39 int __imlib_FileCanRead(const char *s); 40 41 char **__imlib_FileDir(const char *dir, int *num); 42 void __imlib_FileFreeDirList(char **l, int num); 43 44 void __imlib_FileDel(const char *s); 45 char *__imlib_FileHomeDir(int uid); 46 int __imlib_ItemInList(char **list, int size, char *item); 47 48 const char *__imlib_PathToFilters(void); 49 const char *__imlib_PathToLoaders(void); 50 char **__imlib_ListModules(const char *path, int *num_ret); 51 52 #endif 53