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


Cpu and architecture related helpers.  


\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__Eina__Cpu__Group_ga74e75242132eaabbc1c512488a135926}{MIN}}(x,  y)~(((x) $>$ (y)) ? (y) \+: (x))
\begin{DoxyCompactList}\small\item\em Returns the minimum of the two parameters. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Cpu__Group_gaacc3ee1a7f283f8ef65cea31f4436a95}{MAX}}(x,  y)~(((x) $>$ (y)) ? (x) \+: (y))
\begin{DoxyCompactList}\small\item\em Returns the maximum of the two parameters. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}\label{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}} 
typedef enum \mbox{\hyperlink{group__Eina__Cpu__Group_ga8c64fbc734db29a2ac43b25801b5f011}{\+\_\+\+Eina\+\_\+\+Cpu\+\_\+\+Features}} {\bfseries Eina\+\_\+\+Cpu\+\_\+\+Features}
\begin{DoxyCompactList}\small\item\em Enumerates different hardware architectures. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group__Eina__Cpu__Group_ga8c64fbc734db29a2ac43b25801b5f011}{\+\_\+\+Eina\+\_\+\+Cpu\+\_\+\+Features}} \{ \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011ab397b6f7048854e76b710afc64295303}{EINA\+\_\+\+CPU\+\_\+\+MMX}} = 0x00000001
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011ae8b4199071da94838a90a820a986e518}{EINA\+\_\+\+CPU\+\_\+\+SSE}} = 0x00000002
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a007e0446feb8b60351923d0701839168}{EINA\+\_\+\+CPU\+\_\+\+SSE2}} = 0x00000004
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a9aa78e14d7dae8de4e894182101ba93f}{EINA\+\_\+\+CPU\+\_\+\+SSE3}} = 0x00000008
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a0bf9426e793bb87beba816129ef7a58c}{EINA\+\_\+\+CPU\+\_\+\+ALTIVEC}} = 0x00000010
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a283247cdcbd9dbaa64e48d9c8e4dc7c1}{EINA\+\_\+\+CPU\+\_\+\+VIS}} = 0x00000020
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a0c2feaa7a3fcbd5cb621aa954f1456ca}{EINA\+\_\+\+CPU\+\_\+\+NEON}} = 0x00000040
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a67e5fcd8b84f3f8c013d92641c480cbe}{EINA\+\_\+\+CPU\+\_\+\+SSSE3}} = 0x00000080
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011af8c1675e5497ca13642149b5410f97b0}{EINA\+\_\+\+CPU\+\_\+\+SSE41}} = 0x00000100
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a2aac0df3eba28596e5f73d66b9f74532}{EINA\+\_\+\+CPU\+\_\+\+SSE42}} = 0x00000200
, \newline
\mbox{\hyperlink{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a1f0b7d06279a1f0655aa8142778d485d}{EINA\+\_\+\+CPU\+\_\+\+SVE}} = 0x00000400
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}{Eina\+\_\+\+Cpu\+\_\+\+Features}} \mbox{\hyperlink{group__Eina__Cpu__Group_ga0d61450cbeb0e2843965ce904be2e0fe}{eina\+\_\+cpu\+\_\+features\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Cpu features accessor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Cpu__Group_ga5c8042e9fb859130d59fed84ca0c747c}{eina\+\_\+cpu\+\_\+count}} (void)
\begin{DoxyCompactList}\small\item\em Gets the current number of processors. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Cpu__Group_gaeef096d5fa4ad1222937c80f60149231}{eina\+\_\+cpu\+\_\+page\+\_\+size}} (void)
\begin{DoxyCompactList}\small\item\em Gets the current virtual page size. \end{DoxyCompactList}\item 
static unsigned short \mbox{\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 \mbox{\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 \mbox{\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}\item 
\mbox{\Hypertarget{group__Eina__Cpu__Group_gafb67dfb7eece061a918c7bcb423725ca}\label{group__Eina__Cpu__Group_gafb67dfb7eece061a918c7bcb423725ca}} 
static unsigned short {\bfseries eina\+\_\+htons} (unsigned short host)
\item 
\mbox{\Hypertarget{group__Eina__Cpu__Group_gac0b5ad3b70c53732cf3d5880dea57d05}\label{group__Eina__Cpu__Group_gac0b5ad3b70c53732cf3d5880dea57d05}} 
static unsigned int {\bfseries eina\+\_\+htonl} (unsigned int host)
\item 
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga5f101446487921d98785b87e51663c52}\label{group__Eina__Cpu__Group_ga5f101446487921d98785b87e51663c52}} 
static unsigned long long {\bfseries eina\+\_\+htonll} (unsigned long long host)
\item 
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga64494b718f0c2afa4977e4d996e36194}\label{group__Eina__Cpu__Group_ga64494b718f0c2afa4977e4d996e36194}} 
static unsigned short {\bfseries eina\+\_\+ntohs} (unsigned short net)
\item 
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga6fdc8310fc939f193eb8ea091788b99b}\label{group__Eina__Cpu__Group_ga6fdc8310fc939f193eb8ea091788b99b}} 
static unsigned int {\bfseries eina\+\_\+ntohl} (unsigned int net)
\item 
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga80249cbc89cdf2edf722f520bed83a43}\label{group__Eina__Cpu__Group_ga80249cbc89cdf2edf722f520bed83a43}} 
static unsigned long long {\bfseries eina\+\_\+ntohll} (unsigned long long net)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}{Eina\+\_\+\+Cpu\+\_\+\+Features}} \mbox{\hyperlink{group__Eina__Cpu__Group_ga4dc0fc965c589fa61cc9d49c3ad7321f}{eina\+\_\+cpu\+\_\+features}}
\begin{DoxyCompactList}\small\item\em Global hardware architecture handler. \end{DoxyCompactList}\end{DoxyCompactItemize}


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



\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga74e75242132eaabbc1c512488a135926}\label{group__Eina__Cpu__Group_ga74e75242132eaabbc1c512488a135926}} 
\index{Cpu@{Cpu}!MIN@{MIN}}
\index{MIN@{MIN}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{MIN}{MIN}}
{\footnotesize\ttfamily \#define MIN(\begin{DoxyParamCaption}\item[{}]{x,  }\item[{}]{y }\end{DoxyParamCaption})~(((x) $>$ (y)) ? (y) \+: (x))}



Returns the minimum of the two parameters. 

\begin{DoxyWarning}{Warning}
Beware of side effects, since the returned parameter is evaluated twice. 
\end{DoxyWarning}
\mbox{\Hypertarget{group__Eina__Cpu__Group_gaacc3ee1a7f283f8ef65cea31f4436a95}\label{group__Eina__Cpu__Group_gaacc3ee1a7f283f8ef65cea31f4436a95}} 
\index{Cpu@{Cpu}!MAX@{MAX}}
\index{MAX@{MAX}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{MAX}{MAX}}
{\footnotesize\ttfamily \#define MAX(\begin{DoxyParamCaption}\item[{}]{x,  }\item[{}]{y }\end{DoxyParamCaption})~(((x) $>$ (y)) ? (x) \+: (y))}



Returns the maximum of the two parameters. 

\begin{DoxyWarning}{Warning}
Beware of side effects, since the returned parameter is evaluated twice. 
\end{DoxyWarning}


\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga8c64fbc734db29a2ac43b25801b5f011}\label{group__Eina__Cpu__Group_ga8c64fbc734db29a2ac43b25801b5f011}} 
\index{Cpu@{Cpu}!\_Eina\_Cpu\_Features@{\_Eina\_Cpu\_Features}}
\index{\_Eina\_Cpu\_Features@{\_Eina\_Cpu\_Features}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{\_Eina\_Cpu\_Features}{\_Eina\_Cpu\_Features}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__Eina__Cpu__Group_ga8c64fbc734db29a2ac43b25801b5f011}{\+\_\+\+Eina\+\_\+\+Cpu\+\_\+\+Features}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_MMX@{EINA\_CPU\_MMX}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_MMX@{EINA\_CPU\_MMX}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011ab397b6f7048854e76b710afc64295303}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011ab397b6f7048854e76b710afc64295303}} 
EINA\+\_\+\+CPU\+\_\+\+MMX&Multimedia Extensions (Intel) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_SSE@{EINA\_CPU\_SSE}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_SSE@{EINA\_CPU\_SSE}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011ae8b4199071da94838a90a820a986e518}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011ae8b4199071da94838a90a820a986e518}} 
EINA\+\_\+\+CPU\+\_\+\+SSE&Streaming SIMD Extensions (Intel) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_SSE2@{EINA\_CPU\_SSE2}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_SSE2@{EINA\_CPU\_SSE2}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a007e0446feb8b60351923d0701839168}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a007e0446feb8b60351923d0701839168}} 
EINA\+\_\+\+CPU\+\_\+\+SSE2&Streaming SIMD Extensions 2 (Intel) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_SSE3@{EINA\_CPU\_SSE3}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_SSE3@{EINA\_CPU\_SSE3}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a9aa78e14d7dae8de4e894182101ba93f}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a9aa78e14d7dae8de4e894182101ba93f}} 
EINA\+\_\+\+CPU\+\_\+\+SSE3&Streaming SIMD Extensions 3 (Intel) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_ALTIVEC@{EINA\_CPU\_ALTIVEC}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_ALTIVEC@{EINA\_CPU\_ALTIVEC}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a0bf9426e793bb87beba816129ef7a58c}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a0bf9426e793bb87beba816129ef7a58c}} 
EINA\+\_\+\+CPU\+\_\+\+ALTIVEC&Single-\/precision floating point and integer SIMD (Power\+PC) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_VIS@{EINA\_CPU\_VIS}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_VIS@{EINA\_CPU\_VIS}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a283247cdcbd9dbaa64e48d9c8e4dc7c1}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a283247cdcbd9dbaa64e48d9c8e4dc7c1}} 
EINA\+\_\+\+CPU\+\_\+\+VIS&Visual Instruction Set (Spark) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_NEON@{EINA\_CPU\_NEON}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_NEON@{EINA\_CPU\_NEON}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a0c2feaa7a3fcbd5cb621aa954f1456ca}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a0c2feaa7a3fcbd5cb621aa954f1456ca}} 
EINA\+\_\+\+CPU\+\_\+\+NEON&Advanced SIMD Extension (ARM) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_SSSE3@{EINA\_CPU\_SSSE3}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_SSSE3@{EINA\_CPU\_SSSE3}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a67e5fcd8b84f3f8c013d92641c480cbe}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a67e5fcd8b84f3f8c013d92641c480cbe}} 
EINA\+\_\+\+CPU\+\_\+\+SSSE3&Supplemental Streaming SIMD Extension 3 (Intel) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_SSE41@{EINA\_CPU\_SSE41}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_SSE41@{EINA\_CPU\_SSE41}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011af8c1675e5497ca13642149b5410f97b0}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011af8c1675e5497ca13642149b5410f97b0}} 
EINA\+\_\+\+CPU\+\_\+\+SSE41&Streaming SIMD Extension 4.\+1 (Intel) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_SSE42@{EINA\_CPU\_SSE42}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_SSE42@{EINA\_CPU\_SSE42}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a2aac0df3eba28596e5f73d66b9f74532}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a2aac0df3eba28596e5f73d66b9f74532}} 
EINA\+\_\+\+CPU\+\_\+\+SSE42&Streaming SIMD Extension 4.\+2 (Intel) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EINA\_CPU\_SVE@{EINA\_CPU\_SVE}!Cpu@{Cpu}}\index{Cpu@{Cpu}!EINA\_CPU\_SVE@{EINA\_CPU\_SVE}}}\mbox{\Hypertarget{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a1f0b7d06279a1f0655aa8142778d485d}\label{group__Eina__Cpu__Group_gga8c64fbc734db29a2ac43b25801b5f011a1f0b7d06279a1f0655aa8142778d485d}} 
EINA\+\_\+\+CPU\+\_\+\+SVE&Scalable Vector Extension (ARM) \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga0d61450cbeb0e2843965ce904be2e0fe}\label{group__Eina__Cpu__Group_ga0d61450cbeb0e2843965ce904be2e0fe}} 
\index{Cpu@{Cpu}!eina\_cpu\_features\_get@{eina\_cpu\_features\_get}}
\index{eina\_cpu\_features\_get@{eina\_cpu\_features\_get}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{eina\_cpu\_features\_get()}{eina\_cpu\_features\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}{Eina\+\_\+\+Cpu\+\_\+\+Features}} eina\+\_\+cpu\+\_\+features\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Cpu features accessor. 

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


\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__Cpu__Group_ga4dc0fc965c589fa61cc9d49c3ad7321f}{eina\+\_\+cpu\+\_\+features}}.

\mbox{\Hypertarget{group__Eina__Cpu__Group_ga5c8042e9fb859130d59fed84ca0c747c}\label{group__Eina__Cpu__Group_ga5c8042e9fb859130d59fed84ca0c747c}} 
\index{Cpu@{Cpu}!eina\_cpu\_count@{eina\_cpu\_count}}
\index{eina\_cpu\_count@{eina\_cpu\_count}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{eina\_cpu\_count()}{eina\_cpu\_count()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+cpu\+\_\+count (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Gets the current number of processors. 

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


Referenced by \mbox{\hyperlink{group__Ecore__Thread__Group_ga4324944541abf9f84861690b4ff66e18}{ecore\+\_\+thread\+\_\+max\+\_\+reset()}}, and \mbox{\hyperlink{group__Ecore__Thread__Group_gaaf965a46e0cc12857883806812af7693}{ecore\+\_\+thread\+\_\+max\+\_\+set()}}.

\mbox{\Hypertarget{group__Eina__Cpu__Group_gaeef096d5fa4ad1222937c80f60149231}\label{group__Eina__Cpu__Group_gaeef096d5fa4ad1222937c80f60149231}} 
\index{Cpu@{Cpu}!eina\_cpu\_page\_size@{eina\_cpu\_page\_size}}
\index{eina\_cpu\_page\_size@{eina\_cpu\_page\_size}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{eina\_cpu\_page\_size()}{eina\_cpu\_page\_size()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+cpu\+\_\+page\+\_\+size (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Gets 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 \mbox{\hyperlink{group__Eina__Mmap__Group_gaf51405e08c9985f057b8d0137846c905}{eina\+\_\+mmap\+\_\+safety\+\_\+enabled\+\_\+set()}}.

\mbox{\Hypertarget{group__Eina__Cpu__Group_ga9391dc77f1bac9c5c19548525193077a}\label{group__Eina__Cpu__Group_ga9391dc77f1bac9c5c19548525193077a}} 
\index{Cpu@{Cpu}!eina\_swap16@{eina\_swap16}}
\index{eina\_swap16@{eina\_swap16}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{eina\_swap16()}{eina\_swap16()}}
{\footnotesize\ttfamily static unsigned short eina\+\_\+swap16 (\begin{DoxyParamCaption}\item[{unsigned short}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



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


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\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. \mbox{\Hypertarget{group__Eina__Cpu__Group_ga145eac053a5a0bc5a7f99347d3375e1c}\label{group__Eina__Cpu__Group_ga145eac053a5a0bc5a7f99347d3375e1c}} 
\index{Cpu@{Cpu}!eina\_swap32@{eina\_swap32}}
\index{eina\_swap32@{eina\_swap32}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{eina\_swap32()}{eina\_swap32()}}
{\footnotesize\ttfamily static unsigned int eina\+\_\+swap32 (\begin{DoxyParamCaption}\item[{unsigned int}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



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


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\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. \mbox{\Hypertarget{group__Eina__Cpu__Group_ga333e8feb4c7412f32aa0ec817b142948}\label{group__Eina__Cpu__Group_ga333e8feb4c7412f32aa0ec817b142948}} 
\index{Cpu@{Cpu}!eina\_swap64@{eina\_swap64}}
\index{eina\_swap64@{eina\_swap64}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{eina\_swap64()}{eina\_swap64()}}
{\footnotesize\ttfamily static unsigned long long eina\+\_\+swap64 (\begin{DoxyParamCaption}\item[{unsigned long long}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



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


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\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. 

\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{group__Eina__Cpu__Group_ga4dc0fc965c589fa61cc9d49c3ad7321f}\label{group__Eina__Cpu__Group_ga4dc0fc965c589fa61cc9d49c3ad7321f}} 
\index{Cpu@{Cpu}!eina\_cpu\_features@{eina\_cpu\_features}}
\index{eina\_cpu\_features@{eina\_cpu\_features}!Cpu@{Cpu}}
\doxysubsubsection{\texorpdfstring{eina\_cpu\_features}{eina\_cpu\_features}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Cpu__Group_ga5b1c582b9cbe7cf337aedb4f80f78a7f}{Eina\+\_\+\+Cpu\+\_\+\+Features}} eina\+\_\+cpu\+\_\+features\hspace{0.3cm}{\ttfamily [extern]}}



Global hardware architecture handler. 

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


Referenced by \mbox{\hyperlink{group__Eina__Cpu__Group_ga0d61450cbeb0e2843965ce904be2e0fe}{eina\+\_\+cpu\+\_\+features\+\_\+get()}}.

