Data Structures | Typedefs | Enumerations | Functions | Variables
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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Fileeio_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_Versioneio_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...
 

Detailed Description

Eio asynchronous input/output library.

These routines are used for Eio.

Enumeration Type Documentation

◆ _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.