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


Microsoft Windows portability layer.  


\subsection*{Modules}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Evil__Dirent__Group}{Dirent.\-h functions}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in \hyperlink{dirent_8h}{dirent.\-h}. \end{DoxyCompactList}\item 
\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 
\hyperlink{group__Evil__Inet__Group}{Inet.\-h functions}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in arpa/inet.\-h. \end{DoxyCompactList}\item 
\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 
\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 
\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 
\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 
\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 
\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}\item 
\hyperlink{group__Evil__Pwd__Group}{Pwd.\-h functions}
\begin{DoxyCompactList}\small\item\em This header provides functions ported from Unix in \hyperlink{dirent_8h}{dirent.\-h}. \end{DoxyCompactList}\item 
\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}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{group__Evil_gad39ebe4c4767eaa9a680777400cfaafe}{fcntl} (int fd, int cmd,...)
\begin{DoxyCompactList}\small\item\em Provide control over file descriptors. \end{DoxyCompactList}\item 
wchar\-\_\-t $\ast$ \hyperlink{group__Evil_gaad3cf8a118e6dc32c90430f6a35bed12}{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 
char $\ast$ \hyperlink{group__Evil_ga3bd76e737e3916c9396daaa11fd77759}{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 
char $\ast$ \hyperlink{group__Evil_ga2d1e829ef2c0a606f07648726e2832de}{evil\-\_\-utf16\-\_\-to\-\_\-utf8} (const wchar\-\_\-t $\ast$text)
\begin{DoxyCompactList}\small\item\em Convert a string from U\-T\-F-\/16 to U\-T\-F-\/8. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__Evil_ga2b8673322def451eefb11d235d5b9cfb}{evil\-\_\-tmpdir\-\_\-get} (void)
\begin{DoxyCompactList}\small\item\em Return a dir to store temporary files. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__Evil_gad888002c51fab074cf46cfe227f0b522}{evil\-\_\-homedir\-\_\-get} (void)
\begin{DoxyCompactList}\small\item\em Return a dir to store personal files. \end{DoxyCompactList}\item 
int \hyperlink{group__Evil_ga7c4333c262a1b4fe815a8044c68b0618}{evil\-\_\-path\-\_\-is\-\_\-absolute} (const char $\ast$path)
\begin{DoxyCompactList}\small\item\em check if the given path is absolute. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Microsoft Windows portability layer. 

\subsection{Function Documentation}
\hypertarget{group__Evil_gad39ebe4c4767eaa9a680777400cfaafe}{\index{Evil@{Evil}!fcntl@{fcntl}}
\index{fcntl@{fcntl}!Evil@{Evil}}
\subsubsection[{fcntl}]{\setlength{\rightskip}{0pt plus 5cm}int fcntl (
\begin{DoxyParamCaption}
\item[{int}]{fd, }
\item[{int}]{cmd, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__Evil_gad39ebe4c4767eaa9a680777400cfaafe}


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\-\_\-\-S\-E\-T\-F\-D\-: Set the close-\/on-\/exec flag to the value specified by the argument after command (only the least significant bit is used).
\item F\-\_\-\-S\-E\-T\-L\-K and F\-\_\-\-S\-E\-T\-L\-K\-W\-: 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 O\-S\-: Windows Vista, Windows X\-P or Windows 2000 Professional. 

References flock\-::l\-\_\-len, flock\-::l\-\_\-start, flock\-::l\-\_\-type, and flock\-::l\-\_\-whence.



Referenced by ecore\-\_\-exe\-\_\-pipe\-\_\-run(), eeze\-\_\-mount\-\_\-tabs\-\_\-watch(), eina\-\_\-file\-\_\-open(), and eina\-\_\-mmap\-\_\-safety\-\_\-enabled\-\_\-set().

\hypertarget{group__Evil_gaad3cf8a118e6dc32c90430f6a35bed12}{\index{Evil@{Evil}!evil\-\_\-char\-\_\-to\-\_\-wchar@{evil\-\_\-char\-\_\-to\-\_\-wchar}}
\index{evil\-\_\-char\-\_\-to\-\_\-wchar@{evil\-\_\-char\-\_\-to\-\_\-wchar}!Evil@{Evil}}
\subsubsection[{evil\-\_\-char\-\_\-to\-\_\-wchar}]{\setlength{\rightskip}{0pt plus 5cm}wchar\-\_\-t$\ast$ evil\-\_\-char\-\_\-to\-\_\-wchar (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{text}
\end{DoxyParamCaption}
)}}\label{group__Evil_gaad3cf8a118e6dc32c90430f6a35bed12}


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, N\-U\-L\-L is returned. On success, the returned value must be freed when it is not used anymore.

Conformity\-: Non applicable.

Supported O\-S\-: Windows 95, Windows 98, Windows Me, Windows N\-T, Windows 2000, Windows X\-P. 

Referenced by dlopen(), dlsym(), ecore\-\_\-wince\-\_\-window\-\_\-title\-\_\-set(), mkstemp(), opendir(), readlink(), setenv(), and symlink().

\hypertarget{group__Evil_ga3bd76e737e3916c9396daaa11fd77759}{\index{Evil@{Evil}!evil\-\_\-wchar\-\_\-to\-\_\-char@{evil\-\_\-wchar\-\_\-to\-\_\-char}}
\index{evil\-\_\-wchar\-\_\-to\-\_\-char@{evil\-\_\-wchar\-\_\-to\-\_\-char}!Evil@{Evil}}
\subsubsection[{evil\-\_\-wchar\-\_\-to\-\_\-char}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ evil\-\_\-wchar\-\_\-to\-\_\-char (
\begin{DoxyParamCaption}
\item[{const wchar\-\_\-t $\ast$}]{text}
\end{DoxyParamCaption}
)}}\label{group__Evil_ga3bd76e737e3916c9396daaa11fd77759}


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, N\-U\-L\-L is returned. On success, the returned value must be freed when it is not used anymore.

Conformity\-: Non applicable.

Supported O\-S\-: Windows 95, Windows 98, Windows Me, Windows N\-T, Windows 2000, Windows X\-P. 

Referenced by evil\-\_\-getcwd(), getpwuid(), opendir(), readdir(), and readlink().

\hypertarget{group__Evil_ga2d1e829ef2c0a606f07648726e2832de}{\index{Evil@{Evil}!evil\-\_\-utf16\-\_\-to\-\_\-utf8@{evil\-\_\-utf16\-\_\-to\-\_\-utf8}}
\index{evil\-\_\-utf16\-\_\-to\-\_\-utf8@{evil\-\_\-utf16\-\_\-to\-\_\-utf8}!Evil@{Evil}}
\subsubsection[{evil\-\_\-utf16\-\_\-to\-\_\-utf8}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ evil\-\_\-utf16\-\_\-to\-\_\-utf8 (
\begin{DoxyParamCaption}
\item[{const wchar\-\_\-t $\ast$}]{text}
\end{DoxyParamCaption}
)}}\label{group__Evil_ga2d1e829ef2c0a606f07648726e2832de}


Convert a string from U\-T\-F-\/16 to U\-T\-F-\/8. 


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

Conformity\-: Non applicable.

Supported O\-S\-: Windows 95, Windows 98, Windows Me, Windows N\-T, Windows 2000, Windows X\-P. \hypertarget{group__Evil_ga2b8673322def451eefb11d235d5b9cfb}{\index{Evil@{Evil}!evil\-\_\-tmpdir\-\_\-get@{evil\-\_\-tmpdir\-\_\-get}}
\index{evil\-\_\-tmpdir\-\_\-get@{evil\-\_\-tmpdir\-\_\-get}!Evil@{Evil}}
\subsubsection[{evil\-\_\-tmpdir\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ evil\-\_\-tmpdir\-\_\-get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Evil_ga2b8673322def451eefb11d235d5b9cfb}


Return a dir to store temporary files. 

\begin{DoxyReturn}{Returns}
The directory to store temporary files.
\end{DoxyReturn}
Return a directory to store temporary files. The function gets the value of the following environment variables, and in that order\-:
\begin{DoxyItemize}
\item T\-M\-P
\item T\-E\-M\-P
\item U\-S\-E\-R\-P\-R\-O\-F\-I\-L\-E
\item W\-I\-N\-D\-I\-R and returns its value if it exists. If none exists, the function returns \char`\"{}\-C\-:\textbackslash{}\char`\"{}.
\end{DoxyItemize}

Conformity\-: Non applicable.

Supported O\-S\-: Windows 95, Windows 98, Windows Me, Windows N\-T, Windows 2000, Windows X\-P. 

Referenced by eina\-\_\-file\-\_\-mkdtemp(), and eina\-\_\-file\-\_\-mkstemp().

\hypertarget{group__Evil_gad888002c51fab074cf46cfe227f0b522}{\index{Evil@{Evil}!evil\-\_\-homedir\-\_\-get@{evil\-\_\-homedir\-\_\-get}}
\index{evil\-\_\-homedir\-\_\-get@{evil\-\_\-homedir\-\_\-get}!Evil@{Evil}}
\subsubsection[{evil\-\_\-homedir\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ evil\-\_\-homedir\-\_\-get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Evil_gad888002c51fab074cf46cfe227f0b522}


Return a dir to store personal files. 

\begin{DoxyReturn}{Returns}
The directory to store personal files.
\end{DoxyReturn}
Return a directory to store personal files. The function gets the value of the following environment variables, and in that order\-:
\begin{DoxyItemize}
\item H\-O\-M\-E
\item U\-S\-E\-R\-P\-R\-O\-F\-I\-L\-E
\item W\-I\-N\-D\-I\-R and returns its value if it exists. If none exists, the function returns \char`\"{}\-C\-:\textbackslash{}\char`\"{}.
\end{DoxyItemize}

Conformity\-: Non applicable.

Supported O\-S\-: Windows 95, Windows 98, Windows Me, Windows N\-T, Windows 2000, Windows X\-P. 

Referenced by getpwuid().

\hypertarget{group__Evil_ga7c4333c262a1b4fe815a8044c68b0618}{\index{Evil@{Evil}!evil\-\_\-path\-\_\-is\-\_\-absolute@{evil\-\_\-path\-\_\-is\-\_\-absolute}}
\index{evil\-\_\-path\-\_\-is\-\_\-absolute@{evil\-\_\-path\-\_\-is\-\_\-absolute}!Evil@{Evil}}
\subsubsection[{evil\-\_\-path\-\_\-is\-\_\-absolute}]{\setlength{\rightskip}{0pt plus 5cm}int evil\-\_\-path\-\_\-is\-\_\-absolute (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path}
\end{DoxyParamCaption}
)}}\label{group__Evil_ga7c4333c262a1b4fe815a8044c68b0618}


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 '\-:', followed by the char '/' or '\textbackslash{}'. If {\ttfamily path} is absolute this function returns 1, otherwise it returns 0. If {\ttfamily path} is {\ttfamily N\-U\-L\-L}, it returns 0.

Conformity\-: Non applicable.

Supported O\-S\-: Windows 95, Windows 98, Windows Me, Windows N\-T, Windows 2000, Windows X\-P, Windows C\-E.

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