Eio_Legacy.h File Reference

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
EIO_API int | eio_init (void)
| Initialize eio and all its required submodule.
EIO_API int | eio_shutdown (void)
| Shutdown eio and all its submodule if possible.
EIO_API void | eio_memory_burst_limit_set (size_t limit)
| Set the limit to the maximum amount of memory used.
EIO_API size_t | eio_memory_burst_limit_get (void)
| Get the actual limit to the maximum amount of memory used.
EIO_API void * | eio_file_container_get (Eio_File *ls)
| Return the container during EIO operation.
EIO_API Eina_Bool | eio_file_cancel (Eio_File *ls)
| Cancel any Eio_File.
EIO_API Eina_Bool | eio_file_check (Eio_File *ls)
| Check if an Eio_File operation has been cancelled.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
EIO_API Eio_Monitor * | eio_monitor_add (const char *path)
| Adds a file/directory to monitor (inotify mechanism).
EIO_API Eio_Monitor * | eio_monitor_stringshared_add (const char *path)
| Adds a file/directory to monitor.
EIO_API void | eio_monitor_del (Eio_Monitor *monitor)
| Deletes a path from the “watched” list.
EIO_API const char * | eio_monitor_path_get (Eio_Monitor *monitor)
| returns the path being watched by the given Eio_Monitor.
EIO_API Eina_Bool | eio_monitor_fallback_check (const Eio_Monitor *monitor)
| Check whether a monitor is using the fallback backend.
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.

## 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.
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.
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.
EIO_API int | EIO_MONITOR_SELF_DELETED
| The monitored path has been removed.
EIO_API int | EIO_MONITOR_ERROR
| During operation the monitor failed and will no longer work.

## Detailed Description

Eio asynchronous input/output library.

These routines are used for Eio.

## Enumeration Type Documentation

## _Eio_File_Op

enum _Eio_File_Op

Input/Output operations on files.

This enum represents the operations that can be done.

Enumerator
EIO_FILE_COPY | I/O operation is about a specific file copy.
EIO_FILE_MOVE | I/O operation is about a specific file move.
EIO_DIR_COPY | I/O operation is about a specific directory copy.
EIO_DIR_MOVE | I/O operation is about a specific directory move.
EIO_UNLINK | I/O operation is about destroying a path: source will point to base path to be destroyed, and dest will point to to path destroyed by this I/O.
EIO_FILE_GETPWNAM | I/O operation is trying to get uid from user name.
EIO_FILE_GETGRNAM | I/O operation is trying to get gid from user name.