\hypertarget{group__Eina__Cpu__Group}{\section{Cpu}
\label{group__Eina__Cpu__Group}\index{Cpu@{Cpu}}
}


Cpu and architecture related helpers.  


\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}{typedef enum \+\_\+\+Eina\+\_\+\+Cpu\+\_\+\+Features \hyperlink{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}{Eina\+\_\+\+Cpu\+\_\+\+Features}}\label{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}

\begin{DoxyCompactList}\small\item\em Enumerates different hardware architectures. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eina__Cpu__Group_ga8c64fbc734db29a2ac43b25801b5f011}{enum {\bfseries \+\_\+\+Eina\+\_\+\+Cpu\+\_\+\+Features} \{ \\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+M\+M\+X} = 0x00000001, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+S\+S\+E} = 0x00000002, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+S\+S\+E2} = 0x00000004, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+S\+S\+E3} = 0x00000008, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+A\+L\+T\+I\+V\+E\+C} = 0x00000010, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+V\+I\+S} = 0x00000020, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+N\+E\+O\+N} = 0x00000040, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+S\+S\+S\+E3} = 0x00000080, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+S\+S\+E41} = 0x00000100, 
\\*
{\bfseries E\+I\+N\+A\+\_\+\+C\+P\+U\+\_\+\+S\+S\+E42} = 0x00000200
 \}}\label{group__Eina__Cpu__Group_ga8c64fbc734db29a2ac43b25801b5f011}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}{Eina\+\_\+\+Cpu\+\_\+\+Features} \hyperlink{group__Eina__Cpu__Group_gaf215e6f00fe3332996b890b7a8e8bf51}{eina\+\_\+cpu\+\_\+features\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Cpu features accessor. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eina__Cpu__Group_ga34216ac673d316e4e9813d0f68a321f2}{eina\+\_\+cpu\+\_\+count} (void)
\begin{DoxyCompactList}\small\item\em Get the current number of precessors. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Eina__Cpu__Group_ga82af2f09a9568dfb4728e958e90d0e9c}{eina\+\_\+cpu\+\_\+page\+\_\+size} (void)
\begin{DoxyCompactList}\small\item\em Get the current virtual page size. \end{DoxyCompactList}\item 
static unsigned short \hyperlink{group__Eina__Cpu__Group_ga9391dc77f1bac9c5c19548525193077a}{eina\+\_\+swap16} (unsigned short x)
\begin{DoxyCompactList}\small\item\em Reverses the byte order of a 16-\/bit (destination) register. \end{DoxyCompactList}\item 
static unsigned int \hyperlink{group__Eina__Cpu__Group_ga145eac053a5a0bc5a7f99347d3375e1c}{eina\+\_\+swap32} (unsigned int x)
\begin{DoxyCompactList}\small\item\em Reverses the byte order of a 32-\/bit (destination) register. \end{DoxyCompactList}\item 
static unsigned long long \hyperlink{group__Eina__Cpu__Group_ga333e8feb4c7412f32aa0ec817b142948}{eina\+\_\+swap64} (unsigned long long x)
\begin{DoxyCompactList}\small\item\em Reverses the byte order of a 64-\/bit (destination) register. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}{Eina\+\_\+\+Cpu\+\_\+\+Features} \hyperlink{group__Eina__Cpu__Group_gaabf2bf19bc6c111d69a9fd90263df998}{eina\+\_\+cpu\+\_\+features}
\begin{DoxyCompactList}\small\item\em Global hardware architecture handler. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Cpu and architecture related helpers. 



\subsection{Function Documentation}
\hypertarget{group__Eina__Cpu__Group_gaf215e6f00fe3332996b890b7a8e8bf51}{\index{Cpu@{Cpu}!eina\+\_\+cpu\+\_\+features\+\_\+get@{eina\+\_\+cpu\+\_\+features\+\_\+get}}
\index{eina\+\_\+cpu\+\_\+features\+\_\+get@{eina\+\_\+cpu\+\_\+features\+\_\+get}!Cpu@{Cpu}}
\subsubsection[{eina\+\_\+cpu\+\_\+features\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Cpu\+\_\+\+Features} eina\+\_\+cpu\+\_\+features\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Eina__Cpu__Group_gaf215e6f00fe3332996b890b7a8e8bf51}


Cpu features accessor. 

\begin{DoxyReturn}{Returns}
the current cpu features


\end{DoxyReturn}


References eina\+\_\+cpu\+\_\+features.

\hypertarget{group__Eina__Cpu__Group_ga34216ac673d316e4e9813d0f68a321f2}{\index{Cpu@{Cpu}!eina\+\_\+cpu\+\_\+count@{eina\+\_\+cpu\+\_\+count}}
\index{eina\+\_\+cpu\+\_\+count@{eina\+\_\+cpu\+\_\+count}!Cpu@{Cpu}}
\subsubsection[{eina\+\_\+cpu\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int eina\+\_\+cpu\+\_\+count (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Eina__Cpu__Group_ga34216ac673d316e4e9813d0f68a321f2}


Get the current number of precessors. 

\begin{DoxyReturn}{Returns}
the number of processors that are online, that is available when the function is called. 
\end{DoxyReturn}


Referenced by ecore\+\_\+thread\+\_\+max\+\_\+reset(), ecore\+\_\+thread\+\_\+max\+\_\+set(), and efl\+::eina\+::thread\+::hardware\+\_\+concurrency().

\hypertarget{group__Eina__Cpu__Group_ga82af2f09a9568dfb4728e958e90d0e9c}{\index{Cpu@{Cpu}!eina\+\_\+cpu\+\_\+page\+\_\+size@{eina\+\_\+cpu\+\_\+page\+\_\+size}}
\index{eina\+\_\+cpu\+\_\+page\+\_\+size@{eina\+\_\+cpu\+\_\+page\+\_\+size}!Cpu@{Cpu}}
\subsubsection[{eina\+\_\+cpu\+\_\+page\+\_\+size}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int eina\+\_\+cpu\+\_\+page\+\_\+size (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Eina__Cpu__Group_ga82af2f09a9568dfb4728e958e90d0e9c}


Get the current virtual page size. 

\begin{DoxyReturn}{Returns}
the fixed length that represents the smallest unit of data for memory allocation performed by the operating system on behalf of the program, and for transfers between the main memory and any other auxiliary store. 
\end{DoxyReturn}


Referenced by eina\+\_\+mmap\+\_\+safety\+\_\+enabled\+\_\+set().

\hypertarget{group__Eina__Cpu__Group_ga9391dc77f1bac9c5c19548525193077a}{\index{Cpu@{Cpu}!eina\+\_\+swap16@{eina\+\_\+swap16}}
\index{eina\+\_\+swap16@{eina\+\_\+swap16}!Cpu@{Cpu}}
\subsubsection[{eina\+\_\+swap16}]{\setlength{\rightskip}{0pt plus 5cm}static unsigned short eina\+\_\+swap16 (
\begin{DoxyParamCaption}
\item[{unsigned short}]{x}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{group__Eina__Cpu__Group_ga9391dc77f1bac9c5c19548525193077a}


Reverses the byte order of a 16-\/bit (destination) register. 


\begin{DoxyParams}{Parameters}
{\em x} & The binary word to swap \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a byte order swapped 16-\/bit integer.
\end{DoxyReturn}
On big endian systems, the number is converted to little endian byte order. On little endian systems, the number is converted to big endian byte order. \hypertarget{group__Eina__Cpu__Group_ga145eac053a5a0bc5a7f99347d3375e1c}{\index{Cpu@{Cpu}!eina\+\_\+swap32@{eina\+\_\+swap32}}
\index{eina\+\_\+swap32@{eina\+\_\+swap32}!Cpu@{Cpu}}
\subsubsection[{eina\+\_\+swap32}]{\setlength{\rightskip}{0pt plus 5cm}static unsigned int eina\+\_\+swap32 (
\begin{DoxyParamCaption}
\item[{unsigned int}]{x}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{group__Eina__Cpu__Group_ga145eac053a5a0bc5a7f99347d3375e1c}


Reverses the byte order of a 32-\/bit (destination) register. 


\begin{DoxyParams}{Parameters}
{\em x} & The binary word to swap \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a byte order swapped 32-\/bit integer.
\end{DoxyReturn}
On big endian systems, the number is converted to little endian byte order. On little endian systems, the number is converted to big endian byte order. \hypertarget{group__Eina__Cpu__Group_ga333e8feb4c7412f32aa0ec817b142948}{\index{Cpu@{Cpu}!eina\+\_\+swap64@{eina\+\_\+swap64}}
\index{eina\+\_\+swap64@{eina\+\_\+swap64}!Cpu@{Cpu}}
\subsubsection[{eina\+\_\+swap64}]{\setlength{\rightskip}{0pt plus 5cm}static unsigned long long eina\+\_\+swap64 (
\begin{DoxyParamCaption}
\item[{unsigned long long}]{x}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{group__Eina__Cpu__Group_ga333e8feb4c7412f32aa0ec817b142948}


Reverses the byte order of a 64-\/bit (destination) register. 


\begin{DoxyParams}{Parameters}
{\em x} & The binary word to swap \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a byte order swapped 64-\/bit integer.
\end{DoxyReturn}
On big endian systems, the number is converted to little endian byte order. On little endian systems, the number is converted to big endian byte order. 

\subsection{Variable Documentation}
\hypertarget{group__Eina__Cpu__Group_gaabf2bf19bc6c111d69a9fd90263df998}{\index{Cpu@{Cpu}!eina\+\_\+cpu\+\_\+features@{eina\+\_\+cpu\+\_\+features}}
\index{eina\+\_\+cpu\+\_\+features@{eina\+\_\+cpu\+\_\+features}!Cpu@{Cpu}}
\subsubsection[{eina\+\_\+cpu\+\_\+features}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Cpu\+\_\+\+Features} eina\+\_\+cpu\+\_\+features}}\label{group__Eina__Cpu__Group_gaabf2bf19bc6c111d69a9fd90263df998}


Global hardware architecture handler. 

\begin{DoxyReturn}{Returns}
the current cpu features 
\end{DoxyReturn}


Referenced by eina\+\_\+cpu\+\_\+features\+\_\+get().

