\hypertarget{group__Evil}{}\doxysection{Evil}
\label{group__Evil}\index{Evil@{Evil}}


Microsoft Windows portability layer.  


\doxysubsection*{Modules}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Evil__Dlfcn}{Functions that manage dynamic-\/link libraries.}}
\begin{DoxyCompactList}\small\item\em This header provides functions to load and unload dynamic-\/link libaries, to get the address of a symbol, and to get diagnostic information. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Evil__Locale__Group}{locale.\+h functions.}}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in locale.\+h. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Evil__Main__Group}{Main}}
\begin{DoxyCompactList}\small\item\em This header provides functions to initialize and shut down the Evil library. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Evil__Mman}{Functions that manage memory mappping.}}
\begin{DoxyCompactList}\small\item\em This header provides the meomry map functions mmap and munmap. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Evil__Stdio__Group}{Stdio.\+h functions}}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in stdio.\+h. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Evil__Stdlib__Group}{Stdlib.\+h functions.}}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in stdlib.\+h. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Evil__String__Group}{String.\+h functions.}}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in string.\+h. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Evil__Time__Group}{Time.\+h functions}}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in time.\+h. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Evil__Unistd__Group}{Unistd.\+h functions}}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in unistd.\+h. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
EVIL\+\_\+\+API int \mbox{\hyperlink{group__Evil_ga454bde45f2e42a909a704d160869aad5}{fcntl}} (int fd, int cmd,...)
\begin{DoxyCompactList}\small\item\em Provide control over file descriptors. \end{DoxyCompactList}\item 
EVIL\+\_\+\+API wchar\+\_\+t $\ast$ \mbox{\hyperlink{group__Evil_ga1627db742021be698db238c55033c1a9}{evil\+\_\+char\+\_\+to\+\_\+wchar}} (const char $\ast$text)
\begin{DoxyCompactList}\small\item\em Convert a string from char $\ast$ to wchar\+\_\+t $\ast$. \end{DoxyCompactList}\item 
EVIL\+\_\+\+API char $\ast$ \mbox{\hyperlink{group__Evil_gaae72f05fae6f040f6d4b109c697f78a7}{evil\+\_\+wchar\+\_\+to\+\_\+char}} (const wchar\+\_\+t $\ast$text)
\begin{DoxyCompactList}\small\item\em Convert a string from wchar\+\_\+t $\ast$ to char $\ast$. \end{DoxyCompactList}\item 
EVIL\+\_\+\+API char $\ast$ \mbox{\hyperlink{group__Evil_ga2ab26d4991c6d29e09afaa6c3c669a01}{evil\+\_\+utf16\+\_\+to\+\_\+utf8}} (const wchar\+\_\+t $\ast$text)
\begin{DoxyCompactList}\small\item\em Convert a string from UTF-\/16 to UTF-\/8. \end{DoxyCompactList}\item 
EVIL\+\_\+\+API wchar\+\_\+t $\ast$ \mbox{\hyperlink{group__Evil_ga6be5b2acc6c7afecb8bb8076320f4c7d}{evil\+\_\+utf8\+\_\+to\+\_\+utf16}} (const char $\ast$text)
\begin{DoxyCompactList}\small\item\em Convert a string from UTF-\/8 to UTF-\/16. \end{DoxyCompactList}\item 
EVIL\+\_\+\+API int \mbox{\hyperlink{group__Evil_ga6f80c58cfd19ff9a289fc7f9a8f6de53}{evil\+\_\+path\+\_\+is\+\_\+absolute}} (const char $\ast$path)
\begin{DoxyCompactList}\small\item\em check if the given path is absolute. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Microsoft Windows portability layer. 



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Evil_ga454bde45f2e42a909a704d160869aad5}\label{group__Evil_ga454bde45f2e42a909a704d160869aad5}} 
\index{Evil@{Evil}!fcntl@{fcntl}}
\index{fcntl@{fcntl}!Evil@{Evil}}
\doxysubsubsection{\texorpdfstring{fcntl()}{fcntl()}}
{\footnotesize\ttfamily EVIL\+\_\+\+API int fcntl (\begin{DoxyParamCaption}\item[{int}]{fd,  }\item[{int}]{cmd,  }\item[{}]{... }\end{DoxyParamCaption})}



Provide control over file descriptors. 


\begin{DoxyParams}{Parameters}
{\em fd} & The file descriptor. \\
\hline
{\em cmd} & The type of control. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, -\/1 otherwise.
\end{DoxyReturn}
Performs one of various miscellaneous operations on {\ttfamily fd}. The operation in question is determined by {\ttfamily cmd\+:} 


\begin{DoxyItemize}
\item F\+\_\+\+SETFD\+: Set the close-\/on-\/exec flag to the value specified by the argument after command (only the least significant bit is used).
\item F\+\_\+\+SETLK and F\+\_\+\+SETLKW\+: used to manage discretionary file locks. The third argument must be a pointer to a struct flock (that may be overwritten by this call).
\end{DoxyItemize}

This function returns 0 on success, -\/1 otherwise.

Conformity\+: None.

Supported OS\+: Windows Vista, Windows XP or Windows 2000 Professional. 

References \mbox{\hyperlink{structflock_af5dc2da04cf2af6e5b77018f9cdce489}{flock\+::l\+\_\+len}}, \mbox{\hyperlink{structflock_a692ebc7782fe6a11c9de67d7fd20cc8f}{flock\+::l\+\_\+start}}, \mbox{\hyperlink{structflock_a504cee7b604e5cd4f9eaa1346fc17672}{flock\+::l\+\_\+type}}, and \mbox{\hyperlink{structflock_ad5898a4a2992bb3c599764d76e02767b}{flock\+::l\+\_\+whence}}.



Referenced by \mbox{\hyperlink{group__Ecore__Pipe__Group_gaaa0c221d03d11b90e48ba0b3cd70e7c8}{ecore\+\_\+pipe\+\_\+full\+\_\+add()}}, \mbox{\hyperlink{group__Eeze__Disk_ga92f1e4a2c653e8c581df72e4cd46d8b3}{eeze\+\_\+mount\+\_\+tabs\+\_\+watch()}}, \mbox{\hyperlink{group__Eina__Debug_ga45eb71dc28eeb3c677edcf2fe83ab97b}{eina\+\_\+debug\+\_\+local\+\_\+connect()}}, \mbox{\hyperlink{group__Eina__Debug_ga6439a7f94a180de542b7256851f508db}{eina\+\_\+debug\+\_\+remote\+\_\+connect()}}, and \mbox{\hyperlink{group__Eina__File__Group_ga858aff49902b2278be3e59aff989ed46}{eina\+\_\+file\+\_\+close\+\_\+on\+\_\+exec()}}.

\mbox{\Hypertarget{group__Evil_ga1627db742021be698db238c55033c1a9}\label{group__Evil_ga1627db742021be698db238c55033c1a9}} 
\index{Evil@{Evil}!evil\_char\_to\_wchar@{evil\_char\_to\_wchar}}
\index{evil\_char\_to\_wchar@{evil\_char\_to\_wchar}!Evil@{Evil}}
\doxysubsubsection{\texorpdfstring{evil\_char\_to\_wchar()}{evil\_char\_to\_wchar()}}
{\footnotesize\ttfamily EVIL\+\_\+\+API wchar\+\_\+t $\ast$ evil\+\_\+char\+\_\+to\+\_\+wchar (\begin{DoxyParamCaption}\item[{const char $\ast$}]{text }\end{DoxyParamCaption})}



Convert a string from char $\ast$ to wchar\+\_\+t $\ast$. 


\begin{DoxyParams}{Parameters}
{\em text} & The string to convert. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The converted string.
\end{DoxyReturn}
Convert a string from char $\ast$ to wchar\+\_\+t $\ast$ and return it. If the allocation or conversion fails, NULL is returned. On success, the returned value must be freed when it is not used anymore.

Conformity\+: Non applicable.

Supported OS\+: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, Windows XP. 

Referenced by \mbox{\hyperlink{group__Evil__Dlfcn_ga92104d3068e23b5fbd643a7d80337a56}{dlopen()}}, and \mbox{\hyperlink{group__Evil__Dlfcn_gae2f9c8a0ad4b250953f81e514072be1e}{dlsym()}}.

\mbox{\Hypertarget{group__Evil_gaae72f05fae6f040f6d4b109c697f78a7}\label{group__Evil_gaae72f05fae6f040f6d4b109c697f78a7}} 
\index{Evil@{Evil}!evil\_wchar\_to\_char@{evil\_wchar\_to\_char}}
\index{evil\_wchar\_to\_char@{evil\_wchar\_to\_char}!Evil@{Evil}}
\doxysubsubsection{\texorpdfstring{evil\_wchar\_to\_char()}{evil\_wchar\_to\_char()}}
{\footnotesize\ttfamily EVIL\+\_\+\+API char $\ast$ evil\+\_\+wchar\+\_\+to\+\_\+char (\begin{DoxyParamCaption}\item[{const wchar\+\_\+t $\ast$}]{text }\end{DoxyParamCaption})}



Convert a string from wchar\+\_\+t $\ast$ to char $\ast$. 


\begin{DoxyParams}{Parameters}
{\em text} & The string to convert. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The converted string.
\end{DoxyReturn}
Convert a string from wchar\+\_\+t $\ast$ to char $\ast$ and return it. If the allocation or conversion fails, NULL is returned. On success, the returned value must be freed when it is not used anymore.

Conformity\+: Non applicable.

Supported OS\+: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, Windows XP. 

Referenced by \mbox{\hyperlink{group__Eina__File__Group_gacb53e3286cf85a6652891ee5e5ec917b}{eina\+\_\+file\+\_\+dir\+\_\+list()}}.

\mbox{\Hypertarget{group__Evil_ga2ab26d4991c6d29e09afaa6c3c669a01}\label{group__Evil_ga2ab26d4991c6d29e09afaa6c3c669a01}} 
\index{Evil@{Evil}!evil\_utf16\_to\_utf8@{evil\_utf16\_to\_utf8}}
\index{evil\_utf16\_to\_utf8@{evil\_utf16\_to\_utf8}!Evil@{Evil}}
\doxysubsubsection{\texorpdfstring{evil\_utf16\_to\_utf8()}{evil\_utf16\_to\_utf8()}}
{\footnotesize\ttfamily EVIL\+\_\+\+API char $\ast$ evil\+\_\+utf16\+\_\+to\+\_\+utf8 (\begin{DoxyParamCaption}\item[{const wchar\+\_\+t $\ast$}]{text }\end{DoxyParamCaption})}



Convert a string from UTF-\/16 to UTF-\/8. 


\begin{DoxyParams}{Parameters}
{\em text} & The string to convert in UTF-\/16. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The converted string in UTF-\/8.
\end{DoxyReturn}
Convert a string from UTF-\/16 to UTF-\/8 and return it. If the allocation or conversion fails, NULL is returned. On success, the returned value must be freed when it is not used anymore.

Conformity\+: Non applicable.

Supported OS\+: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, Windows XP. 

Referenced by \mbox{\hyperlink{group__Ecore__Win32__Group_gac0b2288f11796bbd25cb0d13e1855ce2}{ecore\+\_\+win32\+\_\+clipboard\+\_\+get()}}, and \mbox{\hyperlink{group__Efreet__Uri_ga1c64849a9846afa04c85906dbafc63bf}{efreet\+\_\+uri\+\_\+decode()}}.

\mbox{\Hypertarget{group__Evil_ga6be5b2acc6c7afecb8bb8076320f4c7d}\label{group__Evil_ga6be5b2acc6c7afecb8bb8076320f4c7d}} 
\index{Evil@{Evil}!evil\_utf8\_to\_utf16@{evil\_utf8\_to\_utf16}}
\index{evil\_utf8\_to\_utf16@{evil\_utf8\_to\_utf16}!Evil@{Evil}}
\doxysubsubsection{\texorpdfstring{evil\_utf8\_to\_utf16()}{evil\_utf8\_to\_utf16()}}
{\footnotesize\ttfamily EVIL\+\_\+\+API wchar\+\_\+t $\ast$ evil\+\_\+utf8\+\_\+to\+\_\+utf16 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{text }\end{DoxyParamCaption})}



Convert a string from UTF-\/8 to UTF-\/16. 


\begin{DoxyParams}{Parameters}
{\em text} & The string to convert in UTF-\/8. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The converted string in UTF-\/16.
\end{DoxyReturn}
Convert a string from UTF-\/8 to UTF-\/16 and return it. If the allocation or conversion fails, NULL is returned. On success, the returned value must be freed when it is not used anymore.

Conformity\+: Non applicable.

\begin{DoxySince}{Since}
1.\+24 
\end{DoxySince}


Referenced by \mbox{\hyperlink{group__Ecore__Win32__Group_ga6113b9c6463256cbd408f23204926b49}{ecore\+\_\+win32\+\_\+clipboard\+\_\+set()}}, and \mbox{\hyperlink{group__Efreet__Uri_ga1c64849a9846afa04c85906dbafc63bf}{efreet\+\_\+uri\+\_\+decode()}}.

\mbox{\Hypertarget{group__Evil_ga6f80c58cfd19ff9a289fc7f9a8f6de53}\label{group__Evil_ga6f80c58cfd19ff9a289fc7f9a8f6de53}} 
\index{Evil@{Evil}!evil\_path\_is\_absolute@{evil\_path\_is\_absolute}}
\index{evil\_path\_is\_absolute@{evil\_path\_is\_absolute}!Evil@{Evil}}
\doxysubsubsection{\texorpdfstring{evil\_path\_is\_absolute()}{evil\_path\_is\_absolute()}}
{\footnotesize\ttfamily EVIL\+\_\+\+API int evil\+\_\+path\+\_\+is\+\_\+absolute (\begin{DoxyParamCaption}\item[{const char $\ast$}]{path }\end{DoxyParamCaption})}



check if the given path is absolute. 


\begin{DoxyParams}{Parameters}
{\em path} & The path to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 if the given path is absolute, 0 otherwise.
\end{DoxyReturn}
Check if the path {\ttfamily path} is absolute or not. An absolute path must begin with a letter (upper or lower case), followed by by the char \textquotesingle{}\+:\textquotesingle{}, followed by the char \textquotesingle{}/\textquotesingle{} or \textquotesingle{}\textbackslash{}\textquotesingle{}. If {\ttfamily path} is absolute this function returns 1, otherwise it returns 0. If {\ttfamily path} is {\ttfamily NULL}, it returns 0.

Conformity\+: Non applicable.

Supported OS\+: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, Windows XP.

\begin{DoxySince}{Since}
1.\+7 
\end{DoxySince}


Referenced by \mbox{\hyperlink{group__Eina__File__Group_ga3eb6309933f0a698eda7cf41ed21fb5e}{eina\+\_\+file\+\_\+path\+\_\+relative()}}, and \mbox{\hyperlink{group__Elm__Prefs_gaec5a0c4ea7f8e54909c5cdbc05e9b064}{elm\+\_\+prefs\+\_\+file\+\_\+set()}}.

