/usr/include/ecore-file-1/Ecore_File.h is in libecore-dev 1.8.6-2.1+b2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | #ifndef ECORE_FILE_H
#define ECORE_FILE_H
/*
* TODO:
* - More events, move/rename of directory file
*/
#include <Eina.h>
#ifdef EAPI
# undef EAPI
#endif
#ifdef _WIN32
# ifdef EFL_ECORE_FILE_BUILD
# ifdef DLL_EXPORT
# define EAPI __declspec(dllexport)
# else
# define EAPI
# endif /* ! DLL_EXPORT */
# else
# define EAPI __declspec(dllimport)
# endif /* ! EFL_ECORE_FILE_BUILD */
#else
# ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
# else
# define EAPI
# endif
#endif /* ! _WIN32 */
/**
* @file Ecore_File.h
* @brief Files utility functions
*/
#ifdef __cplusplus
extern "C" {
#endif
/**
* @defgroup Ecore_File_Group Ecore_File - Files and directories convenience functions
* @ingroup Ecore
*
* @{
*/
/**
* @typedef Ecore_File_Monitor
* Abstract type used when monitoring a directory.
*/
typedef struct _Ecore_File_Monitor Ecore_File_Monitor;
/**
* @typedef Ecore_File_Download_Job
* Abstract type used when aborting a download.
*/
typedef struct _Ecore_File_Download_Job Ecore_File_Download_Job;
/**
* @typedef _Ecore_File_Event
* The event type returned when a file or directory is monitored.
*/
typedef enum _Ecore_File_Event
{
ECORE_FILE_EVENT_NONE, /**< No event. */
ECORE_FILE_EVENT_CREATED_FILE, /**< Created file event. */
ECORE_FILE_EVENT_CREATED_DIRECTORY, /**< Created directory event. */
ECORE_FILE_EVENT_DELETED_FILE, /**< Deleted file event. */
ECORE_FILE_EVENT_DELETED_DIRECTORY, /**< Deleted directory event. */
ECORE_FILE_EVENT_DELETED_SELF, /**< Deleted monitored directory event. */
ECORE_FILE_EVENT_MODIFIED, /**< Modified file or directory event. */
ECORE_FILE_EVENT_CLOSED /**< Closed file event */
} Ecore_File_Event;
/**
* @typedef Ecore_File_Monitor_Cb
* Callback type used when a monitored directory has changes.
*/
typedef void (*Ecore_File_Monitor_Cb)(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, const char *path);
/**
* @typedef Ecore_File_Download_Completion_Cb
* Callback type used when a download is finished.
*/
typedef void (*Ecore_File_Download_Completion_Cb)(void *data, const char *file, int status);
/**
* @typedef _Ecore_File_Progress_Return
* What to do with the download as a return from the
* Ecore_File_Download_Progress_Cb function, if provided.
*/
typedef enum _Ecore_File_Progress_Return
{
ECORE_FILE_PROGRESS_CONTINUE = 0, /**< Continue the download. */
ECORE_FILE_PROGRESS_ABORT = 1 /**< Abort the download. */
} Ecore_File_Progress_Return;
/**
* @typedef Ecore_File_Download_Progress_Cb
* Callback type used while a download is in progress.
*/
typedef int (*Ecore_File_Download_Progress_Cb)(void *data,
const char *file,
long int dltotal,
long int dlnow,
long int ultotal,
long int ulnow);
/* File operations */
EAPI int ecore_file_init (void);
EAPI int ecore_file_shutdown (void);
EAPI long long ecore_file_mod_time (const char *file);
EAPI long long ecore_file_size (const char *file);
EAPI Eina_Bool ecore_file_exists (const char *file);
EAPI Eina_Bool ecore_file_is_dir (const char *file);
EAPI Eina_Bool ecore_file_mkdir (const char *dir);
EAPI int ecore_file_mkdirs (const char **dirs);
EAPI int ecore_file_mksubdirs (const char *base, const char **subdirs);
EAPI Eina_Bool ecore_file_rmdir (const char *dir);
EAPI Eina_Bool ecore_file_recursive_rm (const char *dir);
EAPI Eina_Bool ecore_file_mkpath (const char *path);
EAPI int ecore_file_mkpaths (const char **paths);
EAPI Eina_Bool ecore_file_cp (const char *src, const char *dst);
EAPI Eina_Bool ecore_file_mv (const char *src, const char *dst);
EAPI Eina_Bool ecore_file_symlink (const char *src, const char *dest);
EAPI char *ecore_file_realpath (const char *file);
EAPI Eina_Bool ecore_file_unlink (const char *file);
EAPI Eina_Bool ecore_file_remove (const char *file);
EAPI const char *ecore_file_file_get (const char *path);
EAPI char *ecore_file_dir_get (const char *path);
EAPI Eina_Bool ecore_file_can_read (const char *file);
EAPI Eina_Bool ecore_file_can_write (const char *file);
EAPI Eina_Bool ecore_file_can_exec (const char *file);
EAPI char *ecore_file_readlink (const char *link);
EAPI Eina_List *ecore_file_ls (const char *dir);
EAPI Eina_Iterator *ecore_file_ls_iterator (const char *dir);
EAPI char *ecore_file_app_exe_get (const char *app);
EAPI char *ecore_file_escape_name (const char *filename);
EAPI char *ecore_file_strip_ext (const char *file);
EAPI int ecore_file_dir_is_empty (const char *dir);
/* Monitoring */
EAPI Ecore_File_Monitor *ecore_file_monitor_add(const char *path,
Ecore_File_Monitor_Cb func,
void *data);
EAPI void ecore_file_monitor_del(Ecore_File_Monitor *ecore_file_monitor);
EAPI const char *ecore_file_monitor_path_get(Ecore_File_Monitor *ecore_file_monitor);
/* Path */
EAPI Eina_Bool ecore_file_path_dir_exists(const char *in_dir);
EAPI Eina_Bool ecore_file_app_installed(const char *exe);
EAPI Eina_List *ecore_file_app_list(void);
/* Download */
EAPI Eina_Bool ecore_file_download(const char *url,
const char *dst,
Ecore_File_Download_Completion_Cb completion_cb,
Ecore_File_Download_Progress_Cb progress_cb,
void *data,
Ecore_File_Download_Job **job_ret);
EAPI Eina_Bool ecore_file_download_full(const char *url,
const char *dst,
Ecore_File_Download_Completion_Cb completion_cb,
Ecore_File_Download_Progress_Cb progress_cb,
void *data,
Ecore_File_Download_Job **job_ret,
Eina_Hash *headers);
EAPI void ecore_file_download_abort_all(void);
EAPI void ecore_file_download_abort(Ecore_File_Download_Job *job);
EAPI Eina_Bool ecore_file_download_protocol_available(const char *protocol);
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif
|