\hypertarget{Eio_8h}{\section{Eio.\+h File Reference}
\label{Eio_8h}\index{Eio.\+h@{Eio.\+h}}
}


Eio asynchronous input/output library.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Eio__Version}{\+\_\+\+Eio\+\_\+\+Version}
\item 
struct \hyperlink{struct__Eio__Progress}{\+\_\+\+Eio\+\_\+\+Progress}
\begin{DoxyCompactList}\small\item\em Represents the current progress of the operation. \end{DoxyCompactList}\item 
struct \hyperlink{struct__Eio__Monitor__Error}{\+\_\+\+Eio\+\_\+\+Monitor\+\_\+\+Error}
\item 
struct \hyperlink{struct__Eio__Monitor__Event}{\+\_\+\+Eio\+\_\+\+Monitor\+\_\+\+Event}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{Eio_8h_a3db3556eec8ef18cb8ddb43816974ac8}{\#define {\bfseries E\+A\+P\+I}}\label{Eio_8h_a3db3556eec8ef18cb8ddb43816974ac8}

\item 
\hypertarget{Eio_8h_a864cff1531cadc594322cee5e1eb1dfc}{\#define {\bfseries E\+I\+O\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R}~E\+F\+L\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R}\label{Eio_8h_a864cff1531cadc594322cee5e1eb1dfc}

\item 
\hypertarget{Eio_8h_ad7d912a86de693f2afc6a614e60ea7c9}{\#define {\bfseries E\+I\+O\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R}~E\+F\+L\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R}\label{Eio_8h_ad7d912a86de693f2afc6a614e60ea7c9}

\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{Eio_8h_a32e9f2a7b4f7503f45b186246c9ef816}{typedef struct \hyperlink{struct__Eio__Version}{\+\_\+\+Eio\+\_\+\+Version} \hyperlink{Eio_8h_a32e9f2a7b4f7503f45b186246c9ef816}{Eio\+\_\+\+Version}}\label{Eio_8h_a32e9f2a7b4f7503f45b186246c9ef816}

\begin{DoxyCompactList}\small\item\em Represents the current version of E\+I\+O. \end{DoxyCompactList}\item 
\hypertarget{group__Eio__Monitor_ga88e01b740cbbc59d3b8456fa022456c9}{typedef struct \+\_\+\+Eio\+\_\+\+Monitor {\bfseries Eio\+\_\+\+Monitor}}\label{group__Eio__Monitor_ga88e01b740cbbc59d3b8456fa022456c9}

\item 
\hypertarget{group__Eio__Monitor_ga4f59b65cd8b04fae9076763648f83312}{typedef struct \hyperlink{struct__Eio__Monitor__Error}{\+\_\+\+Eio\+\_\+\+Monitor\+\_\+\+Error} {\bfseries Eio\+\_\+\+Monitor\+\_\+\+Error}}\label{group__Eio__Monitor_ga4f59b65cd8b04fae9076763648f83312}

\item 
\hypertarget{group__Eio__Monitor_gac037bf17798ca3573a9b8287bb44f993}{typedef struct \hyperlink{struct__Eio__Monitor__Event}{\+\_\+\+Eio\+\_\+\+Monitor\+\_\+\+Event} {\bfseries Eio\+\_\+\+Monitor\+\_\+\+Event}}\label{group__Eio__Monitor_gac037bf17798ca3573a9b8287bb44f993}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_ga17269e2198af5dfd8a1907654c214d4a}{eio\+\_\+file\+\_\+xattr} (const char $\ast$path, Eio\+\_\+\+Filter\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Main\+\_\+\+Cb main\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Assynchronously list all e\+Xtended attribute. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_gaa7fc37c8b527c2f9cb7badeb66501f51}{eio\+\_\+file\+\_\+xattr\+\_\+int\+\_\+set} (const char $\ast$path, const char $\ast$attribute, int xattr\+\_\+int, \hyperlink{group__Eina__Tools__Group_ga016f6b7c97a22104a6ba6d1b042548c8}{Eina\+\_\+\+Xattr\+\_\+\+Flags} flags, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Define an extented attribute on a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_gaa0e820e027de0e982456d3a5ee3b79e8}{eio\+\_\+file\+\_\+xattr\+\_\+double\+\_\+set} (const char $\ast$path, const char $\ast$attribute, double xattr\+\_\+double, \hyperlink{group__Eina__Tools__Group_ga016f6b7c97a22104a6ba6d1b042548c8}{Eina\+\_\+\+Xattr\+\_\+\+Flags} flags, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Define an extented attribute on a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_ga56739a398e7495794a77c43401e961f2}{eio\+\_\+file\+\_\+xattr\+\_\+string\+\_\+set} (const char $\ast$path, const char $\ast$attribute, const char $\ast$xattr\+\_\+string, \hyperlink{group__Eina__Tools__Group_ga016f6b7c97a22104a6ba6d1b042548c8}{Eina\+\_\+\+Xattr\+\_\+\+Flags} flags, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Define a string extented attribute on a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_ga49f7c87d68b6f1f69641daed3953a61c}{eio\+\_\+file\+\_\+xattr\+\_\+set} (const char $\ast$path, const char $\ast$attribute, const char $\ast$xattr\+\_\+data, unsigned int xattr\+\_\+size, \hyperlink{group__Eina__Tools__Group_ga016f6b7c97a22104a6ba6d1b042548c8}{Eina\+\_\+\+Xattr\+\_\+\+Flags} flags, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Define an extented attribute on a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_gab6423fbd9be2c1dc5b8fde56e870b8fd}{eio\+\_\+file\+\_\+xattr\+\_\+get} (const char $\ast$path, const char $\ast$attribute, Eio\+\_\+\+Done\+\_\+\+Data\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Retrieve the extended attribute of a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_ga1a668a7cdcbd75c6ca6e3d05fbd6a6f3}{eio\+\_\+file\+\_\+xattr\+\_\+int\+\_\+get} (const char $\ast$path, const char $\ast$attribute, Eio\+\_\+\+Done\+\_\+\+Int\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Retrieve a extended attribute of a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_ga983331f0143b6cda32977f5d84a1a78d}{eio\+\_\+file\+\_\+xattr\+\_\+double\+\_\+get} (const char $\ast$path, const char $\ast$attribute, Eio\+\_\+\+Done\+\_\+\+Double\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Retrieve a extended attribute of a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Xattr_gab1ef0f75f1b80dde1d9a1699d2f199e0}{eio\+\_\+file\+\_\+xattr\+\_\+string\+\_\+get} (const char $\ast$path, const char $\ast$attribute, Eio\+\_\+\+Done\+\_\+\+String\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Retrieve a string extended attribute of a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Helper_gac612fe5df9b9c93c275ee373745c2471}{eio\+\_\+init} (void)
\begin{DoxyCompactList}\small\item\em Initialize eio and all its required submodule. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Helper_ga2281001078f6f99e3662bc889524831b}{eio\+\_\+shutdown} (void)
\begin{DoxyCompactList}\small\item\em Shutdown eio and all its submodule if possible. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eio__Helper_ga57bd4ee7646a1fc785a77f908924c416}{eio\+\_\+memory\+\_\+burst\+\_\+limit\+\_\+set} (size\+\_\+t limit)
\begin{DoxyCompactList}\small\item\em Set the limit to the maximum amount of memory used. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} size\+\_\+t \hyperlink{group__Eio__Helper_ga857f78deca5fd2310cfe8bdc3f89a51a}{eio\+\_\+memory\+\_\+burst\+\_\+limit\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the actual limit to the maximum amount of memory used. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__Eio__Helper_ga44520dafc4a5066e9e1378d4a7a892c5}{eio\+\_\+file\+\_\+container\+\_\+get} (\hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ls)
\begin{DoxyCompactList}\small\item\em Return the container during E\+I\+O operation. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eio__Helper_gad93d85d644f29d726a76e7348b9aa0f2}{eio\+\_\+file\+\_\+cancel} (\hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ls)
\begin{DoxyCompactList}\small\item\em Cancel any Eio\+\_\+\+File. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eio__Helper_ga47d30b2024e432b2bc9bf21f879747b7}{eio\+\_\+file\+\_\+check} (\hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ls)
\begin{DoxyCompactList}\small\item\em Check if an Eio\+\_\+\+File operation has been cancelled. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eio__Helper_gab2573246b0d4face54be3ef149751efb}{eio\+\_\+file\+\_\+associate\+\_\+add} (\hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ls, const char $\ast$key, const void $\ast$data, \hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb} free\+\_\+cb)
\begin{DoxyCompactList}\small\item\em Associate data with the current filtered file. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eio__Helper_ga335a93b8e07bb926b1347c02303f58c6}{eio\+\_\+file\+\_\+associate\+\_\+direct\+\_\+add} (\hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ls, const char $\ast$key, const void $\ast$data, \hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb} free\+\_\+cb)
\begin{DoxyCompactList}\small\item\em Associate data with the current filtered file. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__Eio__Helper_ga67e04d574f768dae03ab1143ed15990c}{eio\+\_\+file\+\_\+associate\+\_\+find} (\hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ls, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Get the data associated during the filter callback inside the main loop. \end{DoxyCompactList}\item 
static double \hyperlink{group__Eio__Helper_ga01f812f6cabd9f6940169d809d4d1523}{eio\+\_\+file\+\_\+atime} (const \hyperlink{group__Eina__File__Group_gab15fe1278f044850fcb24417a47364a8}{Eina\+\_\+\+Stat} $\ast$stat)
\begin{DoxyCompactList}\small\item\em get access time from a Eina\+\_\+\+Stat \end{DoxyCompactList}\item 
static double \hyperlink{group__Eio__Helper_gaf5e7af8f2e5136c8a16b3e315d665d7c}{eio\+\_\+file\+\_\+mtime} (const \hyperlink{group__Eina__File__Group_gab15fe1278f044850fcb24417a47364a8}{Eina\+\_\+\+Stat} $\ast$stat)
\begin{DoxyCompactList}\small\item\em get modification time from a Eina\+\_\+\+Stat \end{DoxyCompactList}\item 
static long long \hyperlink{group__Eio__Helper_gad8597d8d8cf7546ceae4144d0b62ec94}{eio\+\_\+file\+\_\+size} (const \hyperlink{group__Eina__File__Group_gab15fe1278f044850fcb24417a47364a8}{Eina\+\_\+\+Stat} $\ast$stat)
\begin{DoxyCompactList}\small\item\em get the size of the file described in Eina\+\_\+\+Stat \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eio__Helper_ga6eed8614724e0b3e83dd74d10a7b220b}{eio\+\_\+file\+\_\+is\+\_\+dir} (const \hyperlink{group__Eina__File__Group_gab15fe1278f044850fcb24417a47364a8}{Eina\+\_\+\+Stat} $\ast$stat)
\begin{DoxyCompactList}\small\item\em tell if the stated path was a directory or not. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eio__Helper_ga20b5b0abdeb0f7d9b406b3aa3b4567b3}{eio\+\_\+file\+\_\+is\+\_\+lnk} (const \hyperlink{group__Eina__File__Group_gab15fe1278f044850fcb24417a47364a8}{Eina\+\_\+\+Stat} $\ast$stat)
\begin{DoxyCompactList}\small\item\em tell if the stated path was a link or not. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Map_ga3288af5437d603d44423d0665a4d0331}{eio\+\_\+file\+\_\+open} (const char $\ast$name, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} shared, Eio\+\_\+\+Open\+\_\+\+Cb open\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Assynchronously open a file. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Map_gae2fc7395404cd2ab19e9dba537d84c4c}{eio\+\_\+file\+\_\+close} (\hyperlink{group__Eina__File__Group_ga20697123547cbc937c6c9dd845af0403}{Eina\+\_\+\+File} $\ast$f, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Assynchronously close a file. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Map_gacbce3022ff01db4f3247d2037f167f04}{eio\+\_\+file\+\_\+map\+\_\+all} (\hyperlink{group__Eina__File__Group_ga20697123547cbc937c6c9dd845af0403}{Eina\+\_\+\+File} $\ast$f, \hyperlink{group__Eina__File__Group_ga2788825dfdd797282112148f2f65ec7a}{Eina\+\_\+\+File\+\_\+\+Populate} rule, Eio\+\_\+\+Filter\+\_\+\+Map\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Map\+\_\+\+Cb map\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Assynchronously map a file in memory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Map_gae6939cb44be138be47117c6daca2afb0}{eio\+\_\+file\+\_\+map\+\_\+new} (\hyperlink{group__Eina__File__Group_ga20697123547cbc937c6c9dd845af0403}{Eina\+\_\+\+File} $\ast$f, \hyperlink{group__Eina__File__Group_ga2788825dfdd797282112148f2f65ec7a}{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 $\ast$data)
\begin{DoxyCompactList}\small\item\em Assynchronously map a part of a file in memory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_gae3953d51e932e6adb942b4f8c3c018be}{eio\+\_\+eet\+\_\+open} (const char $\ast$filename, \hyperlink{group__Eet__File__Group_gace4c717b4aadfe603183524c18951572}{Eet\+\_\+\+File\+\_\+\+Mode} mode, Eio\+\_\+\+Eet\+\_\+\+Open\+\_\+\+Cb eet\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Open an eet file on disk, and returns a handle to it asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_ga8f36a105d7e6a93ec296bae31c679082}{eio\+\_\+eet\+\_\+close} (\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$ef, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Eet\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Close an eet file handle and flush pending writes asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_ga1b6590d4a67708291f7f8b9ca3c724ee}{eio\+\_\+eet\+\_\+sync} (\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$ef, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Eet\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Sync content of an eet file handle, flushing pending writes asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_ga50914746560b98593bb2f8340a20545e}{eio\+\_\+eet\+\_\+data\+\_\+write\+\_\+cipher} (\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$ef, \hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\+\_\+\+Data\+\_\+\+Descriptor} $\ast$edd, const char $\ast$name, const char $\ast$cipher\+\_\+key, void $\ast$write\+\_\+data, int compress, Eio\+\_\+\+Done\+\_\+\+Int\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Write a data structure from memory and store in an eet file using a cipher asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_gaf0b06e0f1a56b5876181685c02474bd2}{eio\+\_\+eet\+\_\+data\+\_\+read\+\_\+cipher} (\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$ef, \hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\+\_\+\+Data\+\_\+\+Descriptor} $\ast$edd, const char $\ast$name, const char $\ast$cipher\+\_\+key, Eio\+\_\+\+Done\+\_\+\+E\+Read\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Read a data structure from an eet file and decodes it using a cipher asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_gac1a2b229ec05219d6db41f7154ddc96f}{eio\+\_\+eet\+\_\+data\+\_\+image\+\_\+write\+\_\+cipher} (\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$ef, const char $\ast$name, const char $\ast$cipher\+\_\+key, void $\ast$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 $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Write image data to the named key in an eet file asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_ga6a5f86d9d9438ad111e5f5d0ce87090a}{eio\+\_\+eet\+\_\+read\+\_\+direct} (\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$ef, const char $\ast$name, Eio\+\_\+\+Done\+\_\+\+Data\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Read a specified entry from an eet file and return data. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_ga9f48091c60dc831c427b1f8f43628110}{eio\+\_\+eet\+\_\+read\+\_\+cipher} (\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$ef, const char $\ast$name, const char $\ast$cipher\+\_\+key, Eio\+\_\+\+Done\+\_\+\+Read\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Read a specified entry from an eet file and return data. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Eet_ga68fd420ec0b9c033dcc52639e469bdae}{eio\+\_\+eet\+\_\+write\+\_\+cipher} (\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$ef, const char $\ast$name, void $\ast$write\+\_\+data, int size, int compress, const char $\ast$cipher\+\_\+key, Eio\+\_\+\+Done\+\_\+\+Int\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Write a specified entry to an eet file handle using a cipher. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} Eio\+\_\+\+Monitor $\ast$ \hyperlink{group__Eio__Monitor_ga94d53797f31ffdaed9d548725b26cce4}{eio\+\_\+monitor\+\_\+add} (const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Adds a file/directory to monitor (inotify mechanism) \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} Eio\+\_\+\+Monitor $\ast$ \hyperlink{group__Eio__Monitor_gaec87a33a868394f69baa9ed30f117881}{eio\+\_\+monitor\+\_\+stringshared\+\_\+add} (const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Adds a file/directory to monitor. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Eio__Monitor_ga82d174f1c38ace764e07955f8286bf5f}{eio\+\_\+monitor\+\_\+del} (Eio\+\_\+\+Monitor $\ast$monitor)
\begin{DoxyCompactList}\small\item\em Deletes a path from the “watched” list. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} const char $\ast$ \hyperlink{group__Eio__Monitor_ga1f44bea7735f746d1319ec0151234ec1}{eio\+\_\+monitor\+\_\+path\+\_\+get} (Eio\+\_\+\+Monitor $\ast$monitor)
\begin{DoxyCompactList}\small\item\em returns the path being watched by the given Eio\+\_\+\+Monitor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{Eio_8h_a39c868d4e7311999d57bb9150ec30598}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a32e9f2a7b4f7503f45b186246c9ef816}{Eio\+\_\+\+Version} $\ast$ {\bfseries eio\+\_\+version}}\label{Eio_8h_a39c868d4e7311999d57bb9150ec30598}

\item 
\hypertarget{group__Eio__Monitor_gaebc96f8775777acacd5cc20ce5c3b5b1}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_gaebc96f8775777acacd5cc20ce5c3b5b1}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+F\+I\+L\+E\+\_\+\+C\+R\+E\+A\+T\+E\+D}}\label{group__Eio__Monitor_gaebc96f8775777acacd5cc20ce5c3b5b1}

\begin{DoxyCompactList}\small\item\em A new file was created in a watched directory. \end{DoxyCompactList}\item 
\hypertarget{group__Eio__Monitor_ga49f25da2bd3ed665b2e249a7b9e2a279}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_ga49f25da2bd3ed665b2e249a7b9e2a279}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+F\+I\+L\+E\+\_\+\+D\+E\+L\+E\+T\+E\+D}}\label{group__Eio__Monitor_ga49f25da2bd3ed665b2e249a7b9e2a279}

\begin{DoxyCompactList}\small\item\em A watched file was deleted, or a file in a watched directory was deleted. \end{DoxyCompactList}\item 
\hypertarget{group__Eio__Monitor_gae56edd04b84880985b40524ec6e1ca53}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_gae56edd04b84880985b40524ec6e1ca53}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+D\+I\+F\+I\+E\+D}}\label{group__Eio__Monitor_gae56edd04b84880985b40524ec6e1ca53}

\begin{DoxyCompactList}\small\item\em A file was modified in a watched directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_gace402c5431fe9365e784e5492fb7e37c}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+F\+I\+L\+E\+\_\+\+C\+L\+O\+S\+E\+D}
\begin{DoxyCompactList}\small\item\em A file was closed in a watched directory. \end{DoxyCompactList}\item 
\hypertarget{group__Eio__Monitor_gad38e117104dd79db4c1c9fe2127c03cf}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_gad38e117104dd79db4c1c9fe2127c03cf}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y\+\_\+\+C\+R\+E\+A\+T\+E\+D}}\label{group__Eio__Monitor_gad38e117104dd79db4c1c9fe2127c03cf}

\begin{DoxyCompactList}\small\item\em A new directory was created in a watched directory. \end{DoxyCompactList}\item 
\hypertarget{group__Eio__Monitor_gafe874e0643a6d60a4da3bab085e2c963}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_gafe874e0643a6d60a4da3bab085e2c963}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y\+\_\+\+D\+E\+L\+E\+T\+E\+D}}\label{group__Eio__Monitor_gafe874e0643a6d60a4da3bab085e2c963}

\begin{DoxyCompactList}\small\item\em A directory has been deleted\+: this can be either a watched directory or one of its subdirectories. \end{DoxyCompactList}\item 
\hypertarget{group__Eio__Monitor_ga6c072465581c9f5d8f1e994224230238}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_ga6c072465581c9f5d8f1e994224230238}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y\+\_\+\+M\+O\+D\+I\+F\+I\+E\+D}}\label{group__Eio__Monitor_ga6c072465581c9f5d8f1e994224230238}

\begin{DoxyCompactList}\small\item\em A directory has been modified in a watched directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_ga8245b67b91de20a18bf804b36850abce}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y\+\_\+\+C\+L\+O\+S\+E\+D}
\begin{DoxyCompactList}\small\item\em A directory has been closed in a watched directory. \end{DoxyCompactList}\item 
\hypertarget{group__Eio__Monitor_ga1be834a1ebce8bd129111fd9deecfaa2}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_ga1be834a1ebce8bd129111fd9deecfaa2}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+S\+E\+L\+F\+\_\+\+R\+E\+N\+A\+M\+E}}\label{group__Eio__Monitor_ga1be834a1ebce8bd129111fd9deecfaa2}

\begin{DoxyCompactList}\small\item\em The monitored path has been renamed, an error could happen just after if the renamed path doesn't exist. \end{DoxyCompactList}\item 
\hypertarget{group__Eio__Monitor_ga03bef1a29a48d762d6cea8bfff74a7b5}{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_ga03bef1a29a48d762d6cea8bfff74a7b5}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+S\+E\+L\+F\+\_\+\+D\+E\+L\+E\+T\+E\+D}}\label{group__Eio__Monitor_ga03bef1a29a48d762d6cea8bfff74a7b5}

\begin{DoxyCompactList}\small\item\em The monitored path has been removed. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eio__Monitor_ga4d8a476ab6478e2bb4e40797fc897b82}{E\+I\+O\+\_\+\+M\+O\+N\+I\+T\+O\+R\+\_\+\+E\+R\+R\+O\+R}
\begin{DoxyCompactList}\small\item\em During operation the monitor failed and will no longer work. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4d}{\+\_\+\+Eio\+\_\+\+File\+\_\+\+Op} \{ \\*
\hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4dab21f36fa998884ac4d36d9c114a88012}{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+C\+O\+P\+Y}, 
\\*
\hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da77b311eada7957e22527baf72b906813}{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+V\+E}, 
\\*
\hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4dad86557496ac7b04ab5b4fb648b7b2bcd}{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+C\+O\+P\+Y}, 
\\*
\hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da2a8198feb438c31c0d811f68d960e74e}{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+M\+O\+V\+E}, 
\\*
\hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da40c6d17fda7f6d3dbcc75818afcd7c1b}{E\+I\+O\+\_\+\+U\+N\+L\+I\+N\+K}, 
\\*
\hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4daf31171cc68502417e9a1944689116923}{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+P\+W\+N\+A\+M}, 
\\*
\hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da3b781ffe9cbdbdf20a771a9d28c173cb}{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+G\+R\+N\+A\+M}
 \}
\begin{DoxyCompactList}\small\item\em Input/\+Output operations on files. \end{DoxyCompactList}\item 
\hypertarget{Eio_8h_a5f762509cb67eb75367bc182dae964cc}{typedef enum \hyperlink{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4d}{\+\_\+\+Eio\+\_\+\+File\+\_\+\+Op} \hyperlink{Eio_8h_a5f762509cb67eb75367bc182dae964cc}{Eio\+\_\+\+File\+\_\+\+Op}}\label{Eio_8h_a5f762509cb67eb75367bc182dae964cc}

\begin{DoxyCompactList}\small\item\em Input/\+Output operations on files. \end{DoxyCompactList}\item 
\hypertarget{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{typedef struct \+\_\+\+Eio\+\_\+\+File \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File}}\label{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}

\begin{DoxyCompactList}\small\item\em Generic asynchronous I/\+O reference. \end{DoxyCompactList}\item 
\hypertarget{Eio_8h_a662e69af7f69dd1289e5cb6f0e3c37d6}{typedef struct \hyperlink{struct__Eio__Progress}{\+\_\+\+Eio\+\_\+\+Progress} \hyperlink{Eio_8h_a662e69af7f69dd1289e5cb6f0e3c37d6}{Eio\+\_\+\+Progress}}\label{Eio_8h_a662e69af7f69dd1289e5cb6f0e3c37d6}

\begin{DoxyCompactList}\small\item\em Progress information on a specific operation. \end{DoxyCompactList}\item 
\hypertarget{Eio_8h_af35b7714606e0df7c26edd7fb289347f}{typedef \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}($\ast$ {\bfseries Eio\+\_\+\+Filter\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, const char $\ast$file)}\label{Eio_8h_af35b7714606e0df7c26edd7fb289347f}

\item 
\hypertarget{Eio_8h_ac89fc9da8ee009a5926283fe7b00666e}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Main\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, const char $\ast$file)}\label{Eio_8h_ac89fc9da8ee009a5926283fe7b00666e}

\item 
\hypertarget{Eio_8h_adb59b1d8cbbda043b191e9a41bc151d6}{typedef \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}($\ast$ {\bfseries Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, const \hyperlink{group__Eina__File__Group_ga8e8779c9f28937a642dbe1be86760646}{Eina\+\_\+\+File\+\_\+\+Direct\+\_\+\+Info} $\ast$info)}\label{Eio_8h_adb59b1d8cbbda043b191e9a41bc151d6}

\item 
\hypertarget{Eio_8h_a2af3074660013e72d99fe7f1ccb08d5a}{typedef \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}($\ast$ {\bfseries Eio\+\_\+\+Filter\+\_\+\+Dir\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, \hyperlink{group__Eina__File__Group_ga8e8779c9f28937a642dbe1be86760646}{Eina\+\_\+\+File\+\_\+\+Direct\+\_\+\+Info} $\ast$info)}\label{Eio_8h_a2af3074660013e72d99fe7f1ccb08d5a}

\item 
\hypertarget{Eio_8h_a13ea61aa3c324462b7dba9e941d9c8b3}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Main\+\_\+\+Direct\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, const \hyperlink{group__Eina__File__Group_ga8e8779c9f28937a642dbe1be86760646}{Eina\+\_\+\+File\+\_\+\+Direct\+\_\+\+Info} $\ast$info)}\label{Eio_8h_a13ea61aa3c324462b7dba9e941d9c8b3}

\item 
\hypertarget{Eio_8h_a22b9d55456ee73e7d60deaa4c6a4f225}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Stat\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, const \hyperlink{group__Eina__File__Group_gab15fe1278f044850fcb24417a47364a8}{Eina\+\_\+\+Stat} $\ast$stat)}\label{Eio_8h_a22b9d55456ee73e7d60deaa4c6a4f225}

\item 
\hypertarget{Eio_8h_a0059eddfab101fd3f0deb4169f045453}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Progress\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, const \hyperlink{Eio_8h_a662e69af7f69dd1289e5cb6f0e3c37d6}{Eio\+\_\+\+Progress} $\ast$info)}\label{Eio_8h_a0059eddfab101fd3f0deb4169f045453}

\item 
\hypertarget{Eio_8h_ae137fba6241c141ba52cf797033adf8d}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Eet\+\_\+\+Open\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, \hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\+\_\+\+File} $\ast$file)}\label{Eio_8h_ae137fba6241c141ba52cf797033adf8d}

\item 
\hypertarget{Eio_8h_a4431edbc96a6c722bfd73429e9dff6a3}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Open\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, \hyperlink{group__Eina__File__Group_ga20697123547cbc937c6c9dd845af0403}{Eina\+\_\+\+File} $\ast$file)}\label{Eio_8h_a4431edbc96a6c722bfd73429e9dff6a3}

\item 
\hypertarget{Eio_8h_a6343ea3f62977dabf7c5cbfc4621cea1}{typedef \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}($\ast$ {\bfseries Eio\+\_\+\+Filter\+\_\+\+Map\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, void $\ast$map, size\+\_\+t length)}\label{Eio_8h_a6343ea3f62977dabf7c5cbfc4621cea1}

\item 
\hypertarget{Eio_8h_a9d3fcb4406f7cbf005718db7db27d73f}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Map\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, void $\ast$map, size\+\_\+t length)}\label{Eio_8h_a9d3fcb4406f7cbf005718db7db27d73f}

\item 
\hypertarget{Eio_8h_a1460686e85270a032a1fe465d7894044}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Done\+\_\+\+Data\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, const char $\ast$read\+\_\+data, unsigned int size)}\label{Eio_8h_a1460686e85270a032a1fe465d7894044}

\item 
\hypertarget{Eio_8h_afbd5f4cdbabc7e075b981a1656cfaab9}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Done\+\_\+\+String\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, const char $\ast$xattr\+\_\+string)}\label{Eio_8h_afbd5f4cdbabc7e075b981a1656cfaab9}

\item 
\hypertarget{Eio_8h_a906e9f168201f5eb8ca7d1d00866ee78}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Done\+\_\+\+Double\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, double xattr\+\_\+double)}\label{Eio_8h_a906e9f168201f5eb8ca7d1d00866ee78}

\item 
\hypertarget{Eio_8h_a95ce324668d9cd6cf18dc167c9d0f0d3}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Done\+\_\+\+Int\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, int i)}\label{Eio_8h_a95ce324668d9cd6cf18dc167c9d0f0d3}

\item 
\hypertarget{Eio_8h_a20aea0ea6747050c9afe8d3fa573b2ad}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Done\+\_\+\+E\+Read\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, void $\ast$decoded)}\label{Eio_8h_a20aea0ea6747050c9afe8d3fa573b2ad}

\item 
\hypertarget{Eio_8h_a51156af096fe6e5b95145f97523a6de8}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Done\+\_\+\+Read\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, void $\ast$read\+\_\+data, unsigned int size)}\label{Eio_8h_a51156af096fe6e5b95145f97523a6de8}

\item 
\hypertarget{Eio_8h_aca147bb9906328217a6e0ef476b7dc22}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Done\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler)}\label{Eio_8h_aca147bb9906328217a6e0ef476b7dc22}

\item 
\hypertarget{Eio_8h_a62ed2987b47a30455bf93bf49b4f1f6d}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Error\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, int error)}\label{Eio_8h_a62ed2987b47a30455bf93bf49b4f1f6d}

\item 
\hypertarget{Eio_8h_aefd283c9ddf4aabd68298242efd9750b}{typedef void($\ast$ {\bfseries Eio\+\_\+\+Eet\+\_\+\+Error\+\_\+\+Cb} )(void $\ast$data, \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$handler, \hyperlink{group__Eet__Group_gab002b16c58e2a62fc7981581647a0092}{Eet\+\_\+\+Error} err)}\label{Eio_8h_aefd283c9ddf4aabd68298242efd9750b}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a0c22f9fa90963fa681a95268881e03dc}{eio\+\_\+file\+\_\+ls} (const char $\ast$dir, Eio\+\_\+\+Filter\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Main\+\_\+\+Cb main\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em List contents of a directory without locking your app. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a9bf71a6845e6a53f90c31763d9fd975a}{eio\+\_\+file\+\_\+direct\+\_\+ls} (const char $\ast$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 $\ast$data)
\begin{DoxyCompactList}\small\item\em List contents of a directory without locking your app. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a6a6f64e9f19dcdb0b4996e73e28a93b4}{eio\+\_\+file\+\_\+stat\+\_\+ls} (const char $\ast$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 $\ast$data)
\begin{DoxyCompactList}\small\item\em List content of a directory without locking your app. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a7aea176b2a7e654363f9c25bc123f889}{eio\+\_\+dir\+\_\+stat\+\_\+ls} (const char $\ast$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 $\ast$data)
\begin{DoxyCompactList}\small\item\em List the content of a directory and all its sub-\/content asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_abf4f5a47f2151249a92fbdebf28d5fea}{eio\+\_\+dir\+\_\+direct\+\_\+ls} (const char $\ast$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 $\ast$data)
\begin{DoxyCompactList}\small\item\em List the content of a directory and all its sub-\/content asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_ae64bc601d91ce0937f403d2de3a342ac}{eio\+\_\+file\+\_\+direct\+\_\+stat} (const char $\ast$path, Eio\+\_\+\+Stat\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Stat a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_aec31c261545eae8310b29f5ddde77325}{eio\+\_\+file\+\_\+chmod} (const char $\ast$path, mode\+\_\+t mode, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Change right of a path. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a54956ddfed8759d0c35371a1e0a3c4ef}{eio\+\_\+file\+\_\+chown} (const char $\ast$path, const char $\ast$user, const char $\ast$group, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Change owner of a path. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a8fe6baf7c4624c0eab82d529098e98ec}{eio\+\_\+file\+\_\+unlink} (const char $\ast$path, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Unlink a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a84ae1b5db3d7aa20a71507e42e3e9cfa}{eio\+\_\+file\+\_\+mkdir} (const char $\ast$path, mode\+\_\+t mode, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Create a new directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_ab0162417b038c0accd8d4acae8fa2773}{eio\+\_\+file\+\_\+move} (const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Move a file asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a2536b264cfab7322883642c418a6a957}{eio\+\_\+file\+\_\+copy} (const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Copy a file asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a2f7b14e01749b03fcad91b4bbbc7065e}{eio\+\_\+dir\+\_\+move} (const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Move a directory and its content asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_abf3d0f3208e36b93750526be652e19c3}{eio\+\_\+dir\+\_\+copy} (const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Copy a directory and its content asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{Eio_8h_a1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{Eio_8h_a0afe25c983003d7bf28aaacda787f0a6}{eio\+\_\+dir\+\_\+unlink} (const char $\ast$path, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Remove a directory and its content asynchronously. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Eio asynchronous input/output library. 

These routines are used for Eio. 

\subsection{Enumeration Type Documentation}
\hypertarget{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4d}{\index{Eio.\+h@{Eio.\+h}!\+\_\+\+Eio\+\_\+\+File\+\_\+\+Op@{\+\_\+\+Eio\+\_\+\+File\+\_\+\+Op}}
\index{\+\_\+\+Eio\+\_\+\+File\+\_\+\+Op@{\+\_\+\+Eio\+\_\+\+File\+\_\+\+Op}!Eio.\+h@{Eio.\+h}}
\subsubsection[{\+\_\+\+Eio\+\_\+\+File\+\_\+\+Op}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \+\_\+\+Eio\+\_\+\+File\+\_\+\+Op}}}\label{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4d}


Input/\+Output operations on files. 

This enum represents the operations that can be done. \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+C\+O\+P\+Y@{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+C\+O\+P\+Y}!Eio.\+h@{Eio.\+h}}\index{Eio.\+h@{Eio.\+h}!E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+C\+O\+P\+Y@{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+C\+O\+P\+Y}}\item[{\em 
\hypertarget{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4dab21f36fa998884ac4d36d9c114a88012}{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+C\+O\+P\+Y}\label{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4dab21f36fa998884ac4d36d9c114a88012}
}]I/\+O operation is about a specific file copy. \index{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+V\+E@{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+V\+E}!Eio.\+h@{Eio.\+h}}\index{Eio.\+h@{Eio.\+h}!E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+V\+E@{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+V\+E}}\item[{\em 
\hypertarget{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da77b311eada7957e22527baf72b906813}{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+V\+E}\label{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da77b311eada7957e22527baf72b906813}
}]I/\+O operation is about a specific file move. \index{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+C\+O\+P\+Y@{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+C\+O\+P\+Y}!Eio.\+h@{Eio.\+h}}\index{Eio.\+h@{Eio.\+h}!E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+C\+O\+P\+Y@{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+C\+O\+P\+Y}}\item[{\em 
\hypertarget{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4dad86557496ac7b04ab5b4fb648b7b2bcd}{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+C\+O\+P\+Y}\label{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4dad86557496ac7b04ab5b4fb648b7b2bcd}
}]I/\+O operation is about a specific directory copy. \index{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+M\+O\+V\+E@{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+M\+O\+V\+E}!Eio.\+h@{Eio.\+h}}\index{Eio.\+h@{Eio.\+h}!E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+M\+O\+V\+E@{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+M\+O\+V\+E}}\item[{\em 
\hypertarget{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da2a8198feb438c31c0d811f68d960e74e}{E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+M\+O\+V\+E}\label{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da2a8198feb438c31c0d811f68d960e74e}
}]I/\+O operation is about a specific directory move. \index{E\+I\+O\+\_\+\+U\+N\+L\+I\+N\+K@{E\+I\+O\+\_\+\+U\+N\+L\+I\+N\+K}!Eio.\+h@{Eio.\+h}}\index{Eio.\+h@{Eio.\+h}!E\+I\+O\+\_\+\+U\+N\+L\+I\+N\+K@{E\+I\+O\+\_\+\+U\+N\+L\+I\+N\+K}}\item[{\em 
\hypertarget{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da40c6d17fda7f6d3dbcc75818afcd7c1b}{E\+I\+O\+\_\+\+U\+N\+L\+I\+N\+K}\label{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da40c6d17fda7f6d3dbcc75818afcd7c1b}
}]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. \index{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+P\+W\+N\+A\+M@{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+P\+W\+N\+A\+M}!Eio.\+h@{Eio.\+h}}\index{Eio.\+h@{Eio.\+h}!E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+P\+W\+N\+A\+M@{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+P\+W\+N\+A\+M}}\item[{\em 
\hypertarget{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4daf31171cc68502417e9a1944689116923}{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+P\+W\+N\+A\+M}\label{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4daf31171cc68502417e9a1944689116923}
}]I/\+O operation is trying to get uid from user name. \index{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+G\+R\+N\+A\+M@{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+G\+R\+N\+A\+M}!Eio.\+h@{Eio.\+h}}\index{Eio.\+h@{Eio.\+h}!E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+G\+R\+N\+A\+M@{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+G\+R\+N\+A\+M}}\item[{\em 
\hypertarget{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da3b781ffe9cbdbdf20a771a9d28c173cb}{E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+G\+E\+T\+G\+R\+N\+A\+M}\label{Eio_8h_af9cb2b88e673b8a3e6cb533fd1d90e4da3b781ffe9cbdbdf20a771a9d28c173cb}
}]I/\+O operation is trying to get gid from user name. \end{description}
\end{Desc}


\subsection{Function Documentation}
\hypertarget{Eio_8h_a0c22f9fa90963fa681a95268881e03dc}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+ls@{eio\+\_\+file\+\_\+ls}}
\index{eio\+\_\+file\+\_\+ls@{eio\+\_\+file\+\_\+ls}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+ls}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+ls (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Main\+\_\+\+Cb}]{main\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a0c22f9fa90963fa681a95268881e03dc}


List contents of a directory without locking your app. 


\begin{DoxyParams}{Parameters}
{\em dir} & The directory to list. \\
\hline
{\em filter\+\_\+cb} & Callback used to decide if the file will be passed to main\+\_\+cb \\
\hline
{\em main\+\_\+cb} & Callback called for each listed file if it was not filtered. \\
\hline
{\em done\+\_\+cb} & Callback called when the ls operation is done. \\
\hline
{\em error\+\_\+cb} & Callback called when either the directory could not be opened or the operation has been canceled. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
This function is responsible for listing the content of a directory without blocking your application. It's equivalent to the \char`\"{}ls\char`\"{} shell command. Every file will be passed to the filter\+\_\+cb, so it's your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eio_file_ls_8c-example}{eio\+\_\+file\+\_\+ls.\+c}.\end{Desc}


References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_a9bf71a6845e6a53f90c31763d9fd975a}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+direct\+\_\+ls@{eio\+\_\+file\+\_\+direct\+\_\+ls}}
\index{eio\+\_\+file\+\_\+direct\+\_\+ls@{eio\+\_\+file\+\_\+direct\+\_\+ls}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+direct\+\_\+ls}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+direct\+\_\+ls (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Main\+\_\+\+Direct\+\_\+\+Cb}]{main\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a9bf71a6845e6a53f90c31763d9fd975a}


List contents of a directory without locking your app. 


\begin{DoxyParams}{Parameters}
{\em dir} & The directory to list. \\
\hline
{\em filter\+\_\+cb} & Callback used to decide if the file will be passed to main\+\_\+cb \\
\hline
{\em main\+\_\+cb} & Callback called from the main loop for each accepted file (not filtered). \\
\hline
{\em done\+\_\+cb} & Callback called from the main loop after the contents of the directory has been listed. \\
\hline
{\em error\+\_\+cb} & Callback called from the main loop when either the directory could not be opened or the operation has been canceled. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
eio\+\_\+file\+\_\+direct\+\_\+ls runs eina\+\_\+file\+\_\+direct\+\_\+ls in a separate thread using ecore\+\_\+thread\+\_\+feedback\+\_\+run. This prevents any blocking in your apps. Every file will be passed to the filter\+\_\+cb, so it's your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_a6a6f64e9f19dcdb0b4996e73e28a93b4}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+stat\+\_\+ls@{eio\+\_\+file\+\_\+stat\+\_\+ls}}
\index{eio\+\_\+file\+\_\+stat\+\_\+ls@{eio\+\_\+file\+\_\+stat\+\_\+ls}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+stat\+\_\+ls}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+stat\+\_\+ls (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Main\+\_\+\+Direct\+\_\+\+Cb}]{main\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a6a6f64e9f19dcdb0b4996e73e28a93b4}


List content of a directory without locking your app. 


\begin{DoxyParams}{Parameters}
{\em dir} & The directory to list. \\
\hline
{\em filter\+\_\+cb} & Callback used to decide if the file will be passed to main\+\_\+cb \\
\hline
{\em main\+\_\+cb} & Callback called from the main loop for each accepted file (not filtered). \\
\hline
{\em done\+\_\+cb} & Callback called from the main loop after the contents of the directory has been listed. \\
\hline
{\em error\+\_\+cb} & Callback called from the main loop when either the directory could not be opened or the operation has been canceled. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
Every file will be passed to the filter\+\_\+cb, so it's your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_a7aea176b2a7e654363f9c25bc123f889}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+dir\+\_\+stat\+\_\+ls@{eio\+\_\+dir\+\_\+stat\+\_\+ls}}
\index{eio\+\_\+dir\+\_\+stat\+\_\+ls@{eio\+\_\+dir\+\_\+stat\+\_\+ls}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+dir\+\_\+stat\+\_\+ls}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+dir\+\_\+stat\+\_\+ls (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Main\+\_\+\+Direct\+\_\+\+Cb}]{main\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a7aea176b2a7e654363f9c25bc123f889}


List the content of a directory and all its sub-\/content asynchronously. 


\begin{DoxyParams}{Parameters}
{\em dir} & The directory to list. \\
\hline
{\em filter\+\_\+cb} & Callback used to decide if the file will be passed to main\+\_\+cb \\
\hline
{\em main\+\_\+cb} & Callback called from the main loop for each accepted file (not filtered). \\
\hline
{\em done\+\_\+cb} & Callback called from the main loop after the contents of the directory has been listed. \\
\hline
{\em error\+\_\+cb} & Callback called from the main loop when either the directory could not be opened or the operation has been canceled. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
\hyperlink{Eio_8h_a7aea176b2a7e654363f9c25bc123f889}{eio\+\_\+dir\+\_\+stat\+\_\+ls()} runs \hyperlink{group__Eina__File__Group_ga21d5e94767ae9932751649ce09a2f98f}{eina\+\_\+file\+\_\+stat\+\_\+ls()} recursively in a separate thread using ecore\+\_\+thread\+\_\+feedback\+\_\+run. This prevents any blocking in your apps. Every file will be passed to the filter\+\_\+cb, so it's your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_abf4f5a47f2151249a92fbdebf28d5fea}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+dir\+\_\+direct\+\_\+ls@{eio\+\_\+dir\+\_\+direct\+\_\+ls}}
\index{eio\+\_\+dir\+\_\+direct\+\_\+ls@{eio\+\_\+dir\+\_\+direct\+\_\+ls}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+dir\+\_\+direct\+\_\+ls}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+dir\+\_\+direct\+\_\+ls (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Dir\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Main\+\_\+\+Direct\+\_\+\+Cb}]{main\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_abf4f5a47f2151249a92fbdebf28d5fea}


List the content of a directory and all its sub-\/content asynchronously. 


\begin{DoxyParams}{Parameters}
{\em dir} & The directory to list. \\
\hline
{\em filter\+\_\+cb} & Callback used to decide if the file will be passed to main\+\_\+cb \\
\hline
{\em main\+\_\+cb} & Callback called from the main loop for each accepted file (not filtered). \\
\hline
{\em done\+\_\+cb} & Callback called from the main loop after the contents of the directory has been listed. \\
\hline
{\em error\+\_\+cb} & Callback called from the main loop when either the directory could not be opened or the operation has been canceled. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
\hyperlink{Eio_8h_abf4f5a47f2151249a92fbdebf28d5fea}{eio\+\_\+dir\+\_\+direct\+\_\+ls()} runs \hyperlink{group__Eina__File__Group_gab20cc163550854f917960f7971c45ca6}{eina\+\_\+file\+\_\+direct\+\_\+ls()} recursively in a separate thread using ecore\+\_\+thread\+\_\+feedback\+\_\+run. This prevents any blocking in your apps. Every file will be passed to the filter\+\_\+cb, so it's your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_ae64bc601d91ce0937f403d2de3a342ac}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+direct\+\_\+stat@{eio\+\_\+file\+\_\+direct\+\_\+stat}}
\index{eio\+\_\+file\+\_\+direct\+\_\+stat@{eio\+\_\+file\+\_\+direct\+\_\+stat}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+direct\+\_\+stat}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+direct\+\_\+stat (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{Eio\+\_\+\+Stat\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_ae64bc601d91ce0937f403d2de3a342ac}


Stat a file/directory. 


\begin{DoxyParams}{Parameters}
{\em path} & The path to stat. \\
\hline
{\em done\+\_\+cb} & Callback called from the main loop when stat was successfully called. \\
\hline
{\em error\+\_\+cb} & Callback called from the main loop when stat failed or has been canceled. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
eio\+\_\+file\+\_\+direct\+\_\+stat calls stat in another thread. This prevents any blocking in your apps. 

References eina\+\_\+stringshare\+\_\+add().



Referenced by eio\+\_\+monitor\+\_\+stringshared\+\_\+add().

\hypertarget{Eio_8h_aec31c261545eae8310b29f5ddde77325}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+chmod@{eio\+\_\+file\+\_\+chmod}}
\index{eio\+\_\+file\+\_\+chmod@{eio\+\_\+file\+\_\+chmod}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+chmod}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+chmod (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{mode\+\_\+t}]{mode, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_aec31c261545eae8310b29f5ddde77325}


Change right of a path. 


\begin{DoxyParams}{Parameters}
{\em path} & The directory path to change access right. \\
\hline
{\em mode} & The permission to set, follow (mode \& $\sim$umask \& 0777). \\
\hline
{\em done\+\_\+cb} & Callback called when the operation is completed. \\
\hline
{\em error\+\_\+cb} & Callback called from if something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
Set a new permission of a path changing it to the mode passed as argument. It's equivalent to the chmod command. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_a54956ddfed8759d0c35371a1e0a3c4ef}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+chown@{eio\+\_\+file\+\_\+chown}}
\index{eio\+\_\+file\+\_\+chown@{eio\+\_\+file\+\_\+chown}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+chown}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+chown (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{const char $\ast$}]{user, }
\item[{const char $\ast$}]{group, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a54956ddfed8759d0c35371a1e0a3c4ef}


Change owner of a path. 


\begin{DoxyParams}{Parameters}
{\em path} & The directory path to change owner. \\
\hline
{\em user} & The new user to set (can be N\+U\+L\+L). \\
\hline
{\em group} & The new group to set (can be N\+U\+L\+L). \\
\hline
{\em done\+\_\+cb} & Callback called when the operation is completed. \\
\hline
{\em error\+\_\+cb} & Callback called from if something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
This function will change the owner of a path, setting it to the user and group passed as argument. It's equivalent to the chown shell command. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_a8fe6baf7c4624c0eab82d529098e98ec}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+unlink@{eio\+\_\+file\+\_\+unlink}}
\index{eio\+\_\+file\+\_\+unlink@{eio\+\_\+file\+\_\+unlink}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+unlink}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+unlink (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a8fe6baf7c4624c0eab82d529098e98ec}


Unlink a file/directory. 


\begin{DoxyParams}{Parameters}
{\em path} & The path to unlink. \\
\hline
{\em done\+\_\+cb} & Callback called when the operation is completed. \\
\hline
{\em error\+\_\+cb} & Callback called from if something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
This function will erase a file. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_a84ae1b5db3d7aa20a71507e42e3e9cfa}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+mkdir@{eio\+\_\+file\+\_\+mkdir}}
\index{eio\+\_\+file\+\_\+mkdir@{eio\+\_\+file\+\_\+mkdir}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+mkdir}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+mkdir (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{mode\+\_\+t}]{mode, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a84ae1b5db3d7aa20a71507e42e3e9cfa}


Create a new directory. 


\begin{DoxyParams}{Parameters}
{\em path} & The directory path to create. \\
\hline
{\em mode} & The permission to set, follow (mode \& $\sim$umask \& 0777). \\
\hline
{\em done\+\_\+cb} & Callback called when the operation is completed. \\
\hline
{\em error\+\_\+cb} & Callback called from if something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
Creates a new directory using the mode provided. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{Eio_8h_ab0162417b038c0accd8d4acae8fa2773}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+move@{eio\+\_\+file\+\_\+move}}
\index{eio\+\_\+file\+\_\+move@{eio\+\_\+file\+\_\+move}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+move}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+move (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{source, }
\item[{const char $\ast$}]{dest, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_ab0162417b038c0accd8d4acae8fa2773}


Move a file asynchronously. 


\begin{DoxyParams}{Parameters}
{\em source} & Should be the name of the file to move the data from. \\
\hline
{\em dest} & Should be the name of the file to move the data to. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the move. \\
\hline
{\em done\+\_\+cb} & Callback called when the move is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.

an Eio\+\_\+\+File pointer, handler to the move operation, can be used to cancel the operation
\end{DoxyReturn}
This function will copy a file from source to dest. It will try to use splice if possible, if not it will fallback to mmap/write. It will try to preserve access right, but not user/group identification. 

References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+V\+E.

\hypertarget{Eio_8h_a2536b264cfab7322883642c418a6a957}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+file\+\_\+copy@{eio\+\_\+file\+\_\+copy}}
\index{eio\+\_\+file\+\_\+copy@{eio\+\_\+file\+\_\+copy}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+file\+\_\+copy}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+copy (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{source, }
\item[{const char $\ast$}]{dest, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a2536b264cfab7322883642c418a6a957}


Copy a file asynchronously. 


\begin{DoxyParams}{Parameters}
{\em source} & Should be the name of the file to copy the data from. \\
\hline
{\em dest} & Should be the name of the file to copy the data to. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the copy. \\
\hline
{\em done\+\_\+cb} & Callback called when the copy is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an Eio\+\_\+\+File pointer, handler to the copy operation, can be used to cancel the operation
\end{DoxyReturn}
This function will copy a file from source to dest. It will try to use splice if possible, if not it will fallback to mmap/write. It will try to preserve access right, but not user/group identification. 

References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+C\+O\+P\+Y.

\hypertarget{Eio_8h_a2f7b14e01749b03fcad91b4bbbc7065e}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+dir\+\_\+move@{eio\+\_\+dir\+\_\+move}}
\index{eio\+\_\+dir\+\_\+move@{eio\+\_\+dir\+\_\+move}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+dir\+\_\+move}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+dir\+\_\+move (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{source, }
\item[{const char $\ast$}]{dest, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a2f7b14e01749b03fcad91b4bbbc7065e}


Move a directory and its content asynchronously. 


\begin{DoxyParams}{Parameters}
{\em source} & Should be the name of the directory to copy the data from. \\
\hline
{\em dest} & Should be the name of the directory to copy the data to. \\
\hline
{\em filter\+\_\+cb} & Possible to deny the move of some files/directories. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the copy. \\
\hline
{\em done\+\_\+cb} & Callback called when the copy is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.

an Eio\+\_\+\+File pointer, handler to the move operation, can be used to cancel the operation
\end{DoxyReturn}
This function will move a directory and all its content from source to dest. It will try first to rename the directory, if not it will try to use splice if possible, if not it will fallback to mmap/write. It will try to preserve access right, but not user/group identity. Every file will be passed to the filter\+\_\+cb, so it's your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it.

\begin{DoxyNote}{Note}
if a rename occur, the filter callback will not be called. 
\end{DoxyNote}


References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+M\+O\+V\+E.

\hypertarget{Eio_8h_abf3d0f3208e36b93750526be652e19c3}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+dir\+\_\+copy@{eio\+\_\+dir\+\_\+copy}}
\index{eio\+\_\+dir\+\_\+copy@{eio\+\_\+dir\+\_\+copy}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+dir\+\_\+copy}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+dir\+\_\+copy (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{source, }
\item[{const char $\ast$}]{dest, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_abf3d0f3208e36b93750526be652e19c3}


Copy a directory and its content asynchronously. 


\begin{DoxyParams}{Parameters}
{\em source} & Should be the name of the directory to copy the data from. \\
\hline
{\em dest} & Should be the name of the directory to copy the data to. \\
\hline
{\em filter\+\_\+cb} & Possible to deny the move of some files/directories. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the copy. \\
\hline
{\em done\+\_\+cb} & Callback called when the copy is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.

an Eio\+\_\+\+File pointer, handler to the copy operation, can be used to cancel the operation
\end{DoxyReturn}
This function will copy a directory and all its content from source to dest. It will try to use splice if possible, if not it will fallback to mmap/write. It will try to preserve access right, but not user/group identity. Every file will be passed to the filter\+\_\+cb, so it's your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. 

References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+C\+O\+P\+Y.

\hypertarget{Eio_8h_a0afe25c983003d7bf28aaacda787f0a6}{\index{Eio.\+h@{Eio.\+h}!eio\+\_\+dir\+\_\+unlink@{eio\+\_\+dir\+\_\+unlink}}
\index{eio\+\_\+dir\+\_\+unlink@{eio\+\_\+dir\+\_\+unlink}!Eio.\+h@{Eio.\+h}}
\subsubsection[{eio\+\_\+dir\+\_\+unlink}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+dir\+\_\+unlink (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{Eio_8h_a0afe25c983003d7bf28aaacda787f0a6}


Remove a directory and its content asynchronously. 


\begin{DoxyParams}{Parameters}
{\em path} & Should be the name of the directory to destroy. \\
\hline
{\em filter\+\_\+cb} & Possible to deny the move of some files/directories. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the copy. \\
\hline
{\em done\+\_\+cb} & Callback called when the copy is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.

an Eio\+\_\+\+File pointer, handler to the unlink operation, can be used to cancel the operation
\end{DoxyReturn}
This function will remove a directory and all its content. Every file will be passed to the filter\+\_\+cb, so it's your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. 

References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+U\+N\+L\+I\+N\+K.

