e2001f7057e7c7fc3fdef57eb10562569ce5d1bf
[framework/uifw/ecore.git] / src / lib / ecore_file / ecore_file_private.h
1 #ifndef _FILE_OFFSET_BITS
2 # define _FILE_OFFSET_BITS  64
3 #endif
4
5 #ifdef __linux__
6 # include <features.h>
7 #endif
8
9 #include "Ecore.h"
10 #include "ecore_private.h"
11
12 #ifdef HAVE_EVIL
13 # include <Evil.h>
14 #endif
15
16 #include "Ecore_File.h"
17
18 /* ecore_file_monitor */
19 int ecore_file_monitor_init(void);
20 int ecore_file_monitor_shutdown(void);
21
22 #define ECORE_FILE_MONITOR(x) ((Ecore_File_Monitor *)(x))
23
24 struct _Ecore_File_Monitor
25 {
26    Ecore_List2 __list_data;
27    void (*func) (void *data,
28                  Ecore_File_Monitor *ecore_file_monitor,
29                  Ecore_File_Event event,
30                  const char *path);
31
32    char               *path;
33    void               *data;
34    Ecore_List2        *files;
35 };
36
37 #ifdef HAVE_INOTIFY
38 int                 ecore_file_monitor_inotify_init(void);
39 int                 ecore_file_monitor_inotify_shutdown(void);
40 Ecore_File_Monitor *ecore_file_monitor_inotify_add(const char *path,
41                                                         void (*func) (void *data,
42                                                                       Ecore_File_Monitor *ecore_file_monitor,
43                                                                       Ecore_File_Event event,
44                                                                       const char *path),
45                                                         void *data);
46 void                ecore_file_monitor_inotify_del(Ecore_File_Monitor *ecore_file_monitor);
47 #endif
48
49 #ifdef HAVE_POLL
50 int                 ecore_file_monitor_poll_init(void);
51 int                 ecore_file_monitor_poll_shutdown(void);
52 Ecore_File_Monitor *ecore_file_monitor_poll_add(const char *path,
53                                                 void (*func) (void *data,
54                                                               Ecore_File_Monitor *ecore_file_monitor,
55                                                               Ecore_File_Event event,
56                                                               const char *path),
57                                                 void *data);
58 void                ecore_file_monitor_poll_del(Ecore_File_Monitor *ecore_file_monitor);
59
60 /* ecore_file_path */
61 int ecore_file_path_init(void);
62 int ecore_file_path_shutdown(void);
63
64 /* ecore_file_download */
65 int ecore_file_download_init(void);
66 int ecore_file_download_shutdown(void);
67
68 #endif