Eio asynchronous input/output library. More...
Data Structures | |
struct | _Eio_Version |
struct | _Eio_Progress |
Represents the current progress of the operation. More... | |
struct | _Eio_Monitor_Error |
struct | _Eio_Monitor_Event |
Typedefs | |
typedef struct _Eio_Version | Eio_Version |
Represents the current version of EIO. | |
typedef enum _Eio_File_Op | Eio_File_Op |
Input/Output operations on files. | |
typedef struct _Eio_Progress | Eio_Progress |
Progress information on a specific operation. | |
typedef Eina_Bool(* | Eio_Filter_Cb) (void *data, Eio_File *handler, const char *file) |
typedef void(* | Eio_Main_Cb) (void *data, Eio_File *handler, const char *file) |
typedef Eina_Bool(* | Eio_Filter_Dir_Cb) (void *data, Eio_File *handler, Eina_File_Direct_Info *info) |
typedef void(* | Eio_Main_Direct_Cb) (void *data, Eio_File *handler, const Eina_File_Direct_Info *info) |
typedef void(* | Eio_Stat_Cb) (void *data, Eio_File *handler, const Eina_Stat *stat) |
typedef void(* | Eio_Progress_Cb) (void *data, Eio_File *handler, const Eio_Progress *info) |
typedef void(* | Eio_Eet_Open_Cb) (void *data, Eio_File *handler, Eet_File *file) |
typedef void(* | Eio_Open_Cb) (void *data, Eio_File *handler, Eina_File *file) |
typedef Eina_Bool(* | Eio_Filter_Map_Cb) (void *data, Eio_File *handler, void *map, size_t length) |
typedef void(* | Eio_Map_Cb) (void *data, Eio_File *handler, void *map, size_t length) |
typedef void(* | Eio_Done_Data_Cb) (void *data, Eio_File *handler, const char *read_data, unsigned int size) |
typedef void(* | Eio_Done_String_Cb) (void *data, Eio_File *handler, const char *xattr_string) |
typedef void(* | Eio_Done_Double_Cb) (void *data, Eio_File *handler, double xattr_double) |
typedef void(* | Eio_Done_Int_Cb) (void *data, Eio_File *handler, int i) |
typedef void(* | Eio_Done_ERead_Cb) (void *data, Eio_File *handler, void *decoded) |
typedef void(* | Eio_Done_Read_Cb) (void *data, Eio_File *handler, void *read_data, unsigned int size) |
typedef void(* | Eio_Done_Cb) (void *data, Eio_File *handler) |
typedef void(* | Eio_Error_Cb) (void *data, Eio_File *handler, int error) |
typedef void(* | Eio_Eet_Error_Cb) (void *data, Eio_File *handler, Eet_Error err) |
typedef struct _Eio_Monitor | Eio_Monitor |
typedef struct _Eio_Monitor_Error | Eio_Monitor_Error |
typedef struct _Eio_Monitor_Event | Eio_Monitor_Event |
Enumerations | |
enum | _Eio_File_Op { EIO_FILE_COPY , EIO_FILE_MOVE , EIO_DIR_COPY , EIO_DIR_MOVE , EIO_UNLINK , EIO_FILE_GETPWNAM , EIO_FILE_GETGRNAM } |
Input/Output operations on files. More... | |
Functions | |
EIO_API Eio_File * | eio_file_ls (const char *dir, Eio_Filter_Cb filter_cb, Eio_Main_Cb main_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
List contents of a directory without locking your app. More... | |
EIO_API Eio_File * | eio_file_direct_ls (const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
List contents of a directory without locking your app. More... | |
EIO_API Eio_File * | eio_file_stat_ls (const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
List content of a directory without locking your app. More... | |
EIO_API Eio_File * | eio_dir_stat_ls (const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
List the content of a directory and all its sub-content asynchronously. More... | |
EIO_API Eio_File * | eio_dir_direct_ls (const char *dir, Eio_Filter_Dir_Cb filter_cb, Eio_Main_Direct_Cb main_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
List the content of a directory and all its sub-content asynchronously. More... | |
EIO_API Eio_File * | eio_file_direct_stat (const char *path, Eio_Stat_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Stat a file/directory. More... | |
EIO_API Eio_File * | eio_file_chmod (const char *path, mode_t mode, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Change rights of a path. More... | |
EIO_API Eio_File * | eio_file_chown (const char *path, const char *user, const char *group, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Change owner of a path. More... | |
EIO_API Eio_File * | eio_file_unlink (const char *path, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Unlink a file/directory. More... | |
EIO_API Eio_File * | eio_file_mkdir (const char *path, mode_t mode, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Create a new directory. More... | |
EIO_API Eio_File * | eio_file_move (const char *source, const char *dest, Eio_Progress_Cb progress_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Move a file asynchronously. More... | |
EIO_API Eio_File * | eio_file_copy (const char *source, const char *dest, Eio_Progress_Cb progress_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Copy a file asynchronously. More... | |
EIO_API Eio_File * | eio_dir_move (const char *source, const char *dest, Eio_Filter_Direct_Cb filter_cb, Eio_Progress_Cb progress_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Move a directory and its content asynchronously. More... | |
EIO_API Eio_File * | eio_dir_copy (const char *source, const char *dest, Eio_Filter_Direct_Cb filter_cb, Eio_Progress_Cb progress_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Copy a directory and its content asynchronously. More... | |
EIO_API Eio_File * | eio_dir_unlink (const char *path, Eio_Filter_Direct_Cb filter_cb, Eio_Progress_Cb progress_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Remove a directory and its content asynchronously. More... | |
EIO_API Eio_File * | eio_file_xattr (const char *path, Eio_Filter_Cb filter_cb, Eio_Main_Cb main_cb, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Asynchronously list all eXtended attribute. More... | |
EIO_API Eio_File * | eio_file_xattr_int_set (const char *path, const char *attribute, int xattr_int, Eina_Xattr_Flags flags, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Define an extended attribute on a file/directory. More... | |
EIO_API Eio_File * | eio_file_xattr_double_set (const char *path, const char *attribute, double xattr_double, Eina_Xattr_Flags flags, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Define an extended attribute on a file/directory. More... | |
EIO_API Eio_File * | eio_file_xattr_string_set (const char *path, const char *attribute, const char *xattr_string, Eina_Xattr_Flags flags, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Define a string extended attribute on a file/directory. More... | |
EIO_API Eio_File * | eio_file_xattr_set (const char *path, const char *attribute, const char *xattr_data, unsigned int xattr_size, Eina_Xattr_Flags flags, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Define an extended attribute on a file/directory. More... | |
EIO_API Eio_File * | eio_file_xattr_get (const char *path, const char *attribute, Eio_Done_Data_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Retrieve the extended attribute of a file/directory. More... | |
EIO_API Eio_File * | eio_file_xattr_int_get (const char *path, const char *attribute, Eio_Done_Int_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Retrieve a extended attribute of a file/directory. More... | |
EIO_API Eio_File * | eio_file_xattr_double_get (const char *path, const char *attribute, Eio_Done_Double_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Retrieve a extended attribute of a file/directory. More... | |
EIO_API Eio_File * | eio_file_xattr_string_get (const char *path, const char *attribute, Eio_Done_String_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Retrieve a string extended attribute of a file/directory. More... | |
EIO_API int | eio_init (void) |
Initialize eio and all its required submodule. More... | |
EIO_API int | eio_shutdown (void) |
Shutdown eio and all its submodule if possible. More... | |
EIO_API void | eio_memory_burst_limit_set (size_t limit) |
Set the limit to the maximum amount of memory used. More... | |
EIO_API size_t | eio_memory_burst_limit_get (void) |
Get the actual limit to the maximum amount of memory used. More... | |
EIO_API void * | eio_file_container_get (Eio_File *ls) |
Return the container during EIO operation. More... | |
EIO_API Eina_Bool | eio_file_cancel (Eio_File *ls) |
Cancel any Eio_File. More... | |
EIO_API Eina_Bool | eio_file_check (Eio_File *ls) |
Check if an Eio_File operation has been cancelled. More... | |
EIO_API Eina_Bool | eio_file_associate_add (Eio_File *ls, const char *key, const void *data, Eina_Free_Cb free_cb) |
Associate data with the current filtered file. More... | |
EIO_API Eina_Bool | eio_file_associate_direct_add (Eio_File *ls, const char *key, const void *data, Eina_Free_Cb free_cb) |
Associate data with the current filtered file. More... | |
EIO_API void * | eio_file_associate_find (Eio_File *ls, const char *key) |
Get the data associated during the filter callback inside the main loop. More... | |
EIO_API Eio_File * | eio_file_open (const char *name, Eina_Bool shared, Eio_Open_Cb open_cb, Eio_Error_Cb error_cb, const void *data) |
Asynchronously open a file. More... | |
EIO_API Eio_File * | eio_file_close (Eina_File *f, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Asynchronously close a file. More... | |
EIO_API Eio_File * | eio_file_map_all (Eina_File *f, Eina_File_Populate rule, Eio_Filter_Map_Cb filter_cb, Eio_Map_Cb map_cb, Eio_Error_Cb error_cb, const void *data) |
Asynchronously map a file in memory. More... | |
EIO_API Eio_File * | eio_file_map_new (Eina_File *f, Eina_File_Populate rule, unsigned long int offset, unsigned long int length, Eio_Filter_Map_Cb filter_cb, Eio_Map_Cb map_cb, Eio_Error_Cb error_cb, const void *data) |
Asynchronously map a part of a file in memory. More... | |
EIO_API Eio_File * | eio_eet_open (const char *filename, Eet_File_Mode mode, Eio_Eet_Open_Cb eet_cb, Eio_Error_Cb error_cb, const void *data) |
Open an eet file on disk, and returns a handle to it asynchronously. More... | |
EIO_API Eio_File * | eio_eet_close (Eet_File *ef, Eio_Done_Cb done_cb, Eio_Eet_Error_Cb error_cb, const void *data) |
Close an eet file handle and flush pending writes asynchronously. More... | |
EIO_API Eio_File * | eio_eet_sync (Eet_File *ef, Eio_Done_Cb done_cb, Eio_Eet_Error_Cb error_cb, const void *data) |
Sync content of an eet file handle, flushing pending writes asynchronously. More... | |
EIO_API Eio_File * | eio_eet_data_write_cipher (Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const char *cipher_key, void *write_data, int compress, Eio_Done_Int_Cb done_cb, Eio_Error_Cb error_cb, const void *user_data) |
Write a data structure from memory and store in an eet file using a cipher asynchronously. More... | |
EIO_API Eio_File * | eio_eet_data_read_cipher (Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const char *cipher_key, Eio_Done_ERead_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Read a data structure from an eet file and decodes it using a cipher asynchronously. More... | |
EIO_API Eio_File * | eio_eet_data_image_write_cipher (Eet_File *ef, const char *name, const char *cipher_key, void *write_data, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy, Eio_Done_Int_Cb done_cb, Eio_Error_Cb error_cb, const void *user_data) |
Write image data to the named key in an eet file asynchronously. More... | |
EIO_API Eio_File * | eio_eet_read_direct (Eet_File *ef, const char *name, Eio_Done_Data_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Read a specified entry from an eet file and return data. More... | |
EIO_API Eio_File * | eio_eet_read_cipher (Eet_File *ef, const char *name, const char *cipher_key, Eio_Done_Read_Cb done_cb, Eio_Error_Cb error_cb, const void *data) |
Read a specified entry from an eet file and return data. More... | |
EIO_API Eio_File * | eio_eet_write_cipher (Eet_File *ef, const char *name, void *write_data, int size, int compress, const char *cipher_key, Eio_Done_Int_Cb done_cb, Eio_Error_Cb error_cb, const void *user_data) |
Write a specified entry to an eet file handle using a cipher. More... | |
EIO_API Eio_Monitor * | eio_monitor_add (const char *path) |
Adds a file/directory to monitor (inotify mechanism) More... | |
EIO_API Eio_Monitor * | eio_monitor_stringshared_add (const char *path) |
Adds a file/directory to monitor. More... | |
EIO_API void | eio_monitor_del (Eio_Monitor *monitor) |
Deletes a path from the “watched” list. More... | |
EIO_API const char * | eio_monitor_path_get (Eio_Monitor *monitor) |
returns the path being watched by the given Eio_Monitor. More... | |
EIO_API Eina_Bool | eio_monitor_fallback_check (const Eio_Monitor *monitor) |
Check whether a monitor is using the fallback backend. More... | |
EIO_API Eina_Bool | eio_monitor_has_context (const Eio_Monitor *monitor, const char *path) |
Check if a monitor has the context about a file or not. More... | |
Variables | |
EIO_API Eio_Version * | eio_version |
Eio Version Information. | |
EIO_API int | EIO_MONITOR_FILE_CREATED |
A new file was created in a watched directory. | |
EIO_API int | EIO_MONITOR_FILE_DELETED |
A watched file was deleted, or a file in a watched directory was deleted. | |
EIO_API int | EIO_MONITOR_FILE_MODIFIED |
A file was modified in a watched directory. | |
EIO_API int | EIO_MONITOR_FILE_CLOSED |
A file was closed in a watched directory. More... | |
EIO_API int | EIO_MONITOR_DIRECTORY_CREATED |
A new directory was created in a watched directory. | |
EIO_API int | EIO_MONITOR_DIRECTORY_DELETED |
A directory has been deleted: this can be either a watched directory or one of its subdirectories. | |
EIO_API int | EIO_MONITOR_DIRECTORY_MODIFIED |
A directory has been modified in a watched directory. | |
EIO_API int | EIO_MONITOR_DIRECTORY_CLOSED |
A directory has been closed in a watched directory. More... | |
EIO_API int | EIO_MONITOR_SELF_RENAME |
The monitored path has been renamed, an error could happen just after if the renamed path doesn't exist. More... | |
EIO_API int | EIO_MONITOR_SELF_DELETED |
The monitored path has been removed. More... | |
EIO_API int | EIO_MONITOR_ERROR |
During operation the monitor failed and will no longer work. More... | |
Eio asynchronous input/output library.
These routines are used for Eio.
enum _Eio_File_Op |
Input/Output operations on files.
This enum represents the operations that can be done.