\hypertarget{group__api__types}{}\doxysection{SVM API types}
\label{group__api__types}\index{SVM API types@{SVM API types}}


This module contains all types used by API functions.  


\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct_s_v_m___string}{SVM\+\_\+\+String}}
\item 
struct \mbox{\hyperlink{struct_s_v_m___comparison___result}{SVM\+\_\+\+Comparison\+\_\+\+Result}}
\item 
struct \mbox{\hyperlink{struct_s_v_m___status___boolean}{SVM\+\_\+\+Status\+\_\+\+Boolean}}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}} \{ \mbox{\hyperlink{group__api__types_gga872facc2eea0e7296e689134f568b804aa1e095cc966dbecf6a0d8aad75348d1a}{FALSE}} = 0
, \mbox{\hyperlink{group__api__types_gga872facc2eea0e7296e689134f568b804aa82764c3079aea4e60c80e45befbb839}{TRUE}} = 1
 \}
\begin{DoxyCompactList}\small\item\em This type corresponds to a simple boolean. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__api__types_gaaec5220542c82828f3e864fa64b679e5}{SVM\+\_\+\+Type\+\_\+\+Internal}} \{ \newline
\mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a0a831c2bc18e8354fe3e30ec0f3cdcda}{AUTOMATIC}}
, \mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a5a063e265d2ac903b6808e9f6e73ec46}{INTEGER}}
, \mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5aee847e634a4297b274316de8a8ca9921}{STRING}}
, \mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a8a583f16e8d237a423c8c1d9087a4c72}{BOOLEAN}}
, \newline
\mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5aad7dce162b42b3d0968ffa57fad43512}{POINTER}}
, \mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a72285f0e2e8529642eb0a6025b12e1e0}{LIBRARY}}
, \mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5ae3d30ffaffa3c06ed917e565dda1fbc5}{SYMBOL}}
, \mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5af38ce5ebc3cd82ab2063ef32d767ad10}{PLUGIN\+\_\+\+ENTRY\+\_\+\+POINT}}
, \newline
\mbox{\hyperlink{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a99f59d2f8b31bcf7704b1b1f581672e2}{INTERRUPTION}}
 \}
\begin{DoxyCompactList}\small\item\em This type corresponds to value types the SVM can store in its memory. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__api__types_gab74f35a11b36bda28236d1baa7d87d8c}{SVM\+\_\+\+Interruption\+\_\+\+Internal}} \{ \newline
\mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca8ac05165348dbbb5a6012c3ce80ea4d4}{CLONE}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca28b8a7b4b6c2a98af7cf438255207174}{DEVICE}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8caa5571864412c8275a2e18a931fddcaa6}{FAILURE}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca6a7856cca1833641e731676636b193f1}{FIRST}}
, \newline
\mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8caa0f690187a3a023c04b409b4f653a4a1}{MEMORY}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca8036f3be5700d4eb67d27fab554d5e0c}{NUMERIC}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca57442daa7105bc381b61d89eee6ebf15}{PROCESSOR}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca7cb36ff0a80f238d5b987d9250d369e3}{SECOND}}
, \newline
\mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca1f086547f14eb82024dea582d0424ab1}{SECURITY}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9aab2d9eae3e9a84d9fed3f0cadd7e22}{TERMINATE}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9b2989c4ac8a0f9a7f46528384eaa5c7}{TERMINAL}}
, \mbox{\hyperlink{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9e022e6380da28dd73210ed34b137c36}{GENERIC}}
 \}
\begin{DoxyCompactList}\small\item\em This type corresponds to interruption types the SVM can use to stop program executions. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__api__types_gacb36f28106d083aae476787333be81fc}{SVM\+\_\+\+Interruption\+\_\+\+Kind}} \{ \mbox{\hyperlink{group__api__types_ggacb36f28106d083aae476787333be81fca9cce99c5763b9c9354f3baf2ec74949e}{SOFTWARE}}
, \mbox{\hyperlink{group__api__types_ggacb36f28106d083aae476787333be81fcaf89b4e3abfb500aa3f738ca3c969df4e}{HARDWARE}}
 \}
\begin{DoxyCompactList}\small\item\em This type represents the two major classes of interruptions the SVM can handle. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__api__types_gacc0b261354e68dbc9b6168e9c1026055}{SVM\+\_\+\+Notification\+\_\+\+Type}} \{ \mbox{\hyperlink{group__api__types_ggacc0b261354e68dbc9b6168e9c1026055ac471f802051d229d2e12947bbf886f96}{NOTIFICATION}}
, \mbox{\hyperlink{group__api__types_ggacc0b261354e68dbc9b6168e9c1026055a17ba9bae1b8d7e8d6c12d46ec58e0769}{TIMER}}
 \}
\begin{DoxyCompactList}\small\item\em This type represents the reason that triggered a callback call to a specific scheduler function. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__api__types_ga2686a7f08a5ada4b6ae5f59342b4047a}{SVM\+\_\+\+Process\+\_\+\+State}} \{ \newline
\mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa1061be6c3fb88d32829cba6f6b2be304}{RUNNING}}
, \mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa1c2114335a42993ac5cc5dbf65f83d41}{SUSPENDED}}
, \mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa757971c0bc5a1972d5f1b1be2c0e2087}{WAITING}}
, \mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa49959dd441dcda75d6898cf2c68fb374}{CONTINUE}}
, \newline
\mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa6b4af979c9694e48f340397ac08dfd1c}{LOCKED}}
, \mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa0593585da9181e972974c1274d8f2b4f}{DEBUG}}
, \mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa5dfb36109b24f39d54d5c3f48f53def8}{ZOMBIE}}
, \mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa61575d9328b8976ac10e71c4ae418168}{INTERRUPTED}}
, \newline
\mbox{\hyperlink{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa2fd6f336d08340583bd620a7f5694c90}{ERROR}}
 \}
\begin{DoxyCompactList}\small\item\em This type represents the status of a process. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__api__types_gaadf0256d3fc6a42e5f3f03f57d63c14a}{SVM\+\_\+\+Object\+\_\+\+Level}} \{ \mbox{\hyperlink{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aad0ef00e708ed18ba004480dceb79ecfb}{LOCAL}}
, \mbox{\hyperlink{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aafd91c66e47839d4d3f15f885fefd6e3e}{CASCADE}}
, \mbox{\hyperlink{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aafde1bb5ef04b28059e61df449501f1c0}{GLOBAL}}
 \}
\begin{DoxyCompactList}\small\item\em This type corresponds to the level of definition of an object. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__api__types_gae1c8cbaa2dfb08be25f364fb1ed82108}{SVM\+\_\+\+Value\+\_\+\+Plugin\+\_\+\+Comparison}} \{ \newline
\mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a19af6bea4ec997beee6a98da6da5d85b}{EQUIVALENCE\+\_\+\+EQUAL}} = 0x0
, \mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a28fcc4502c67524ae288e3135b682007}{EQUIVALENCE\+\_\+\+DIFFERENT}} = 0x3
, \mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108ae7f0386e742cd2bdf6f0dec916e4190f}{ORDER\+\_\+\+EQUAL}} = 0x4
, \mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108ada337f09a6c42df992d39bd3a153a9e9}{ORDER\+\_\+\+INFERIOR}} = 0x5
, \newline
\mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a4b0d5fdc0d1ea1a2c48f5a1806c360fa}{ORDER\+\_\+\+SUPERIOR}} = 0x6
, \mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a9247ead6463380cac36810c0b5fb28de}{ORDER\+\_\+\+UNCOMPARABLE}} = 0x7
, \mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108aac0fd9544889e1c6aa3db591f5a4b518}{ORDER\+\_\+\+TOTAL}} = 0x0
, \mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a8441067a6c7786df72fd7381ccd3eb82}{ORDER\+\_\+\+PARTIAL}} = 0x8
, \newline
\mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a59ab82fb99d910b8935080cb4e6d7584}{COMPARISON\+\_\+\+STRONG}} = 0x0
, \mbox{\hyperlink{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a9fac3f2c586c8329192694d9c5b734bd}{COMPARISON\+\_\+\+WEAK}} = 0x10
 \}
\begin{DoxyCompactList}\small\item\em This type corresponds to the result of SVM\+\_\+\+Value\+\_\+\+Plugin comparison. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gad01adf1b14e8f8309ff0c059b2a51196}{SVM\+\_\+\+Variable}}
\begin{DoxyCompactList}\small\item\em This type is used to represent any object managed by the SVM. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gab05a82304ba262cf3ae97b0c5f8ab707}{SVM\+\_\+\+Parameter}}
\begin{DoxyCompactList}\small\item\em This type is used by the SVM to pass instruction parameters to the corresponding plugin function. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga69ff4bdc03f61848ca94b7c2c4d30347}{SVM\+\_\+\+Structure}}
\begin{DoxyCompactList}\small\item\em This type is used to convey a C pointer used for data exchange between plugins. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gaa9ef3e93dd2aee35350fd61cc54851fa}{SVM\+\_\+\+Access\+Control}}
\begin{DoxyCompactList}\small\item\em This type is used to represent quotas on code execution. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gab09bc91d1ed2c59cf667d75b06fb3170}{SVM\+\_\+\+Memory\+\_\+\+Zone}}
\begin{DoxyCompactList}\small\item\em This type is used to represent the types of a contiguous zone of memory prior to its allocation. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga9e838c51ce283318b8730f828a77fa58}{SVM\+\_\+\+Lock}}
\begin{DoxyCompactList}\small\item\em This type is used as a simple synchronisation facility. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga3ac4056beee2ad9fce9f459ae749f5b0}{SVM\+\_\+\+Lock\+Guard\+\_\+\+Read}}
\begin{DoxyCompactList}\small\item\em This type is used to represent the aquisition of a SVM\+\_\+\+Lock as a reader. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gae7ef77b583070e4e157c7ba5a36dd51e}{SVM\+\_\+\+Lock\+Guard\+\_\+\+Write}}
\begin{DoxyCompactList}\small\item\em This type is used to represent the aquisition of a SVM\+\_\+\+Lock as a writer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga1b628e5d67deb5adfcacb232c78388cb}{SVM\+\_\+\+Event\+\_\+\+Queue}}
\begin{DoxyCompactList}\small\item\em This type is used as a complex synchronisation facility. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga0961ca26fac1df3a61c4f488e8de76a2}{SVM\+\_\+\+Event\+\_\+\+Queue\+\_\+\+Address}}
\begin{DoxyCompactList}\small\item\em This type is used to represent an entity able to post and get events from an event queue. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef unsigned long int \mbox{\hyperlink{group__api__types_gae19c9a8c6077446e11c34dd11059f647}{SVM\+\_\+\+Address}}
\begin{DoxyCompactList}\small\item\em This type is used to represent\+: \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef unsigned long int \mbox{\hyperlink{group__api__types_gac43cfaba700ac777f51008bdd29970a0}{SVM\+\_\+\+Index}}
\begin{DoxyCompactList}\small\item\em This type is used to represent an index. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef unsigned long int \mbox{\hyperlink{group__api__types_gaab347fe7005c87722bd7d80cfe94333c}{SVM\+\_\+\+Size}}
\begin{DoxyCompactList}\small\item\em This type is used to represent an object size. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga2bac50ec69e3f4b0b660eeb39a183927}{SVM\+\_\+\+Code}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a section of code of the SVM. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga19af2c6060f3ae282ea4e73121fac69c}{SVM\+\_\+\+Kernel}}
\begin{DoxyCompactList}\small\item\em This type is used to represent an atomic execution environment. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}{SVM\+\_\+\+Process}}
\begin{DoxyCompactList}\small\item\em This type is used to represent an execution thread in the SVM. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gabdebe955bb051d608ee64f9ddf2a24da}{SVM\+\_\+\+Process\+\_\+\+Lock}}
\begin{DoxyCompactList}\small\item\em This type is used to represent the aquisition of a lock on a remote process. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gac798057426741f818bef458a08cdd604}{SVM\+\_\+\+Scheduler}}
\begin{DoxyCompactList}\small\item\em This type is used to represent an execution scheduler. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gaadec7878265489486ae62c9f048e446c}{SVM\+\_\+\+Debug\+\_\+\+Form}}
\begin{DoxyCompactList}\small\item\em This type is used to represent the a formular in the debugger user interface. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef \mbox{\hyperlink{group__api__types_ga2686a7f08a5ada4b6ae5f59342b4047a}{SVM\+\_\+\+Process\+\_\+\+State}} \mbox{\hyperlink{group__api__types_ga6973e582c96542d2a1a62eeef7b8c416}{SVM\+\_\+\+Kernel\+\_\+\+State}}
\begin{DoxyCompactList}\small\item\em This type represents the status of a kernel. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga1d0dbcf7d04a60f9bab902433710f617}{SVM\+\_\+\+Type}}
\begin{DoxyCompactList}\small\item\em This type is used to represent types of any value the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gaf37a7c40972a9dabfa18b14127c34fb1}{SVM\+\_\+\+Value}}
\begin{DoxyCompactList}\small\item\em This type is used to represent any value the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}{SVM\+\_\+\+Value\+\_\+\+Integer}}
\begin{DoxyCompactList}\small\item\em This type is used to represent an integer the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga3dffb7b48e1c724c527353525675e41c}{SVM\+\_\+\+Value\+\_\+\+String}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a string the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gadb4e3d3f8c78ef0d286510ef9361bd56}{SVM\+\_\+\+Value\+\_\+\+Boolean}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a boolean the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga613f7430f76ab41fd47f6a386c370828}{SVM\+\_\+\+Value\+\_\+\+Pointer}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a pointer the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga765b850c130fadedd1e7c334e79a93a3}{SVM\+\_\+\+Value\+\_\+\+Library}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a library the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga9b78468202465689b5cdc9c276d5f564}{SVM\+\_\+\+Value\+\_\+\+Symbol}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a symbol the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga90c57554e1d1ea2967e133696d0cf2cd}{SVM\+\_\+\+Value\+\_\+\+Plugin\+Entry\+Point}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a plugin entry point the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga05264517c09f5a00e9f4a613739fbd79}{SVM\+\_\+\+Value\+\_\+\+Interruption}}
\begin{DoxyCompactList}\small\item\em This type is used to represent an interruption name the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_ga8668c50dcc077c7785c3a07ed08d8827}{SVM\+\_\+\+Value\+\_\+\+Plugin}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a value defined by a plugin the SVM can store in one of its memories. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__apimacros_gab654ee347099fcdc6328cab4b8832f7e}{SVM\+\_\+\+TYPE}} typedef const void $\ast$ \mbox{\hyperlink{group__api__types_gaa68175eb7c5646940953969173d37b79}{SVM\+\_\+\+Value\+\_\+\+Automatic}}
\begin{DoxyCompactList}\small\item\em This type is used to represent a null automatic value. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This module contains all types used by API functions. 

Some are only enumeration constants used in various ways, like named booleans or SVM elements states or types.

One is a buffer containers to give a access to non-\/nul terminated strings, sometimes useful while conveying binary data over virtual machine strings.

The others ones are all typedefs on\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{const} \textcolor{keywordtype}{void} *}

\end{DoxyCode}
 These are various variable types\+:
\begin{DoxyItemize}
\item A parameter with SVM\+\_\+\+Variable type can accept a variable of any other type,
\item A parameter with SVM\+\_\+\+Value type can accept a variable of any type starting with SVM\+\_\+\+Value\+\_\+ prefix.
\end{DoxyItemize}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}


\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{group__api__types_ga872facc2eea0e7296e689134f568b804}\label{group__api__types_ga872facc2eea0e7296e689134f568b804}} 
\index{SVM API types@{SVM API types}!SVM\_Boolean@{SVM\_Boolean}}
\index{SVM\_Boolean@{SVM\_Boolean}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Boolean}{SVM\_Boolean}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__api__types_ga872facc2eea0e7296e689134f568b804}{SVM\+\_\+\+Boolean}}}



This type corresponds to a simple boolean. 

This boolean is compatible with C ones. \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{FALSE@{FALSE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!FALSE@{FALSE}}}\mbox{\Hypertarget{group__api__types_gga872facc2eea0e7296e689134f568b804aa1e095cc966dbecf6a0d8aad75348d1a}\label{group__api__types_gga872facc2eea0e7296e689134f568b804aa1e095cc966dbecf6a0d8aad75348d1a}} 
FALSE&self-\/explained \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{TRUE@{TRUE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!TRUE@{TRUE}}}\mbox{\Hypertarget{group__api__types_gga872facc2eea0e7296e689134f568b804aa82764c3079aea4e60c80e45befbb839}\label{group__api__types_gga872facc2eea0e7296e689134f568b804aa82764c3079aea4e60c80e45befbb839}} 
TRUE&self-\/explained \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__api__types_gab74f35a11b36bda28236d1baa7d87d8c}\label{group__api__types_gab74f35a11b36bda28236d1baa7d87d8c}} 
\index{SVM API types@{SVM API types}!SVM\_Interruption\_Internal@{SVM\_Interruption\_Internal}}
\index{SVM\_Interruption\_Internal@{SVM\_Interruption\_Internal}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Interruption\_Internal}{SVM\_Interruption\_Internal}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__api__types_gab74f35a11b36bda28236d1baa7d87d8c}{SVM\+\_\+\+Interruption\+\_\+\+Internal}}}



This type corresponds to interruption types the SVM can use to stop program executions. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{CLONE@{CLONE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!CLONE@{CLONE}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca8ac05165348dbbb5a6012c3ce80ea4d4}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca8ac05165348dbbb5a6012c3ce80ea4d4}} 
CLONE&raised on SIGCHLD \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{DEVICE@{DEVICE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!DEVICE@{DEVICE}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca28b8a7b4b6c2a98af7cf438255207174}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca28b8a7b4b6c2a98af7cf438255207174}} 
DEVICE&raised on SIGPIPE, SIGBUS \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{FAILURE@{FAILURE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!FAILURE@{FAILURE}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8caa5571864412c8275a2e18a931fddcaa6}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8caa5571864412c8275a2e18a931fddcaa6}} 
FAILURE&raised on SIGABRT, SIGQUIT or generic failure in instruction \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{FIRST@{FIRST}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!FIRST@{FIRST}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca6a7856cca1833641e731676636b193f1}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca6a7856cca1833641e731676636b193f1}} 
FIRST&raised on SIGUSR1 \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MEMORY@{MEMORY}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!MEMORY@{MEMORY}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8caa0f690187a3a023c04b409b4f653a4a1}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8caa0f690187a3a023c04b409b4f653a4a1}} 
MEMORY&raised on memory access failure \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NUMERIC@{NUMERIC}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!NUMERIC@{NUMERIC}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca8036f3be5700d4eb67d27fab554d5e0c}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca8036f3be5700d4eb67d27fab554d5e0c}} 
NUMERIC&raised on SIGFPE \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROCESSOR@{PROCESSOR}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!PROCESSOR@{PROCESSOR}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca57442daa7105bc381b61d89eee6ebf15}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca57442daa7105bc381b61d89eee6ebf15}} 
PROCESSOR&raised on SIGILL or processor invalid action \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SECOND@{SECOND}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!SECOND@{SECOND}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca7cb36ff0a80f238d5b987d9250d369e3}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca7cb36ff0a80f238d5b987d9250d369e3}} 
SECOND&raised on SIGUSR2 \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SECURITY@{SECURITY}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!SECURITY@{SECURITY}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca1f086547f14eb82024dea582d0424ab1}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca1f086547f14eb82024dea582d0424ab1}} 
SECURITY&raised on security violation or quota overflow \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{TERMINATE@{TERMINATE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!TERMINATE@{TERMINATE}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9aab2d9eae3e9a84d9fed3f0cadd7e22}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9aab2d9eae3e9a84d9fed3f0cadd7e22}} 
TERMINATE&raised on SIGTERM, SIGINT, SIGHUP, SIGALRM \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{TERMINAL@{TERMINAL}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!TERMINAL@{TERMINAL}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9b2989c4ac8a0f9a7f46528384eaa5c7}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9b2989c4ac8a0f9a7f46528384eaa5c7}} 
TERMINAL&raised on SIGTTIN, SIGTTOU, SIGWINCH \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{GENERIC@{GENERIC}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!GENERIC@{GENERIC}}}\mbox{\Hypertarget{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9e022e6380da28dd73210ed34b137c36}\label{group__api__types_ggab74f35a11b36bda28236d1baa7d87d8ca9e022e6380da28dd73210ed34b137c36}} 
GENERIC&raised on all other signals \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__api__types_gacb36f28106d083aae476787333be81fc}\label{group__api__types_gacb36f28106d083aae476787333be81fc}} 
\index{SVM API types@{SVM API types}!SVM\_Interruption\_Kind@{SVM\_Interruption\_Kind}}
\index{SVM\_Interruption\_Kind@{SVM\_Interruption\_Kind}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Interruption\_Kind}{SVM\_Interruption\_Kind}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__api__types_gacb36f28106d083aae476787333be81fc}{SVM\+\_\+\+Interruption\+\_\+\+Kind}}}



This type represents the two major classes of interruptions the SVM can handle. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{SOFTWARE@{SOFTWARE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!SOFTWARE@{SOFTWARE}}}\mbox{\Hypertarget{group__api__types_ggacb36f28106d083aae476787333be81fca9cce99c5763b9c9354f3baf2ec74949e}\label{group__api__types_ggacb36f28106d083aae476787333be81fca9cce99c5763b9c9354f3baf2ec74949e}} 
SOFTWARE&the class of interruptions coming from instructions and execution errors \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{HARDWARE@{HARDWARE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!HARDWARE@{HARDWARE}}}\mbox{\Hypertarget{group__api__types_ggacb36f28106d083aae476787333be81fcaf89b4e3abfb500aa3f738ca3c969df4e}\label{group__api__types_ggacb36f28106d083aae476787333be81fcaf89b4e3abfb500aa3f738ca3c969df4e}} 
HARDWARE&the class of interruptions coming from the OS signals \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__api__types_gacc0b261354e68dbc9b6168e9c1026055}\label{group__api__types_gacc0b261354e68dbc9b6168e9c1026055}} 
\index{SVM API types@{SVM API types}!SVM\_Notification\_Type@{SVM\_Notification\_Type}}
\index{SVM\_Notification\_Type@{SVM\_Notification\_Type}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Notification\_Type}{SVM\_Notification\_Type}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__api__types_gacc0b261354e68dbc9b6168e9c1026055}{SVM\+\_\+\+Notification\+\_\+\+Type}}}



This type represents the reason that triggered a callback call to a specific scheduler function. 

(See scheduler API functions below for more details.) \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{NOTIFICATION@{NOTIFICATION}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!NOTIFICATION@{NOTIFICATION}}}\mbox{\Hypertarget{group__api__types_ggacc0b261354e68dbc9b6168e9c1026055ac471f802051d229d2e12947bbf886f96}\label{group__api__types_ggacc0b261354e68dbc9b6168e9c1026055ac471f802051d229d2e12947bbf886f96}} 
NOTIFICATION&the callback has been triggered manually by the plugin developper \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{TIMER@{TIMER}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!TIMER@{TIMER}}}\mbox{\Hypertarget{group__api__types_ggacc0b261354e68dbc9b6168e9c1026055a17ba9bae1b8d7e8d6c12d46ec58e0769}\label{group__api__types_ggacc0b261354e68dbc9b6168e9c1026055a17ba9bae1b8d7e8d6c12d46ec58e0769}} 
TIMER&the callback has been triggered after a timer expiration \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__api__types_gaadf0256d3fc6a42e5f3f03f57d63c14a}\label{group__api__types_gaadf0256d3fc6a42e5f3f03f57d63c14a}} 
\index{SVM API types@{SVM API types}!SVM\_Object\_Level@{SVM\_Object\_Level}}
\index{SVM\_Object\_Level@{SVM\_Object\_Level}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Object\_Level}{SVM\_Object\_Level}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__api__types_gaadf0256d3fc6a42e5f3f03f57d63c14a}{SVM\+\_\+\+Object\+\_\+\+Level}}}



This type corresponds to the level of definition of an object. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{LOCAL@{LOCAL}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!LOCAL@{LOCAL}}}\mbox{\Hypertarget{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aad0ef00e708ed18ba004480dceb79ecfb}\label{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aad0ef00e708ed18ba004480dceb79ecfb}} 
LOCAL&the object is located in the current state of the processor \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CASCADE@{CASCADE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!CASCADE@{CASCADE}}}\mbox{\Hypertarget{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aafd91c66e47839d4d3f15f885fefd6e3e}\label{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aafd91c66e47839d4d3f15f885fefd6e3e}} 
CASCADE&the object is located in the current state and all sub states of the processor \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{GLOBAL@{GLOBAL}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!GLOBAL@{GLOBAL}}}\mbox{\Hypertarget{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aafde1bb5ef04b28059e61df449501f1c0}\label{group__api__types_ggaadf0256d3fc6a42e5f3f03f57d63c14aafde1bb5ef04b28059e61df449501f1c0}} 
GLOBAL&the object is located in the processor \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__api__types_ga2686a7f08a5ada4b6ae5f59342b4047a}\label{group__api__types_ga2686a7f08a5ada4b6ae5f59342b4047a}} 
\index{SVM API types@{SVM API types}!SVM\_Process\_State@{SVM\_Process\_State}}
\index{SVM\_Process\_State@{SVM\_Process\_State}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Process\_State}{SVM\_Process\_State}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__api__types_ga2686a7f08a5ada4b6ae5f59342b4047a}{SVM\+\_\+\+Process\+\_\+\+State}}}



This type represents the status of a process. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{RUNNING@{RUNNING}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!RUNNING@{RUNNING}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa1061be6c3fb88d32829cba6f6b2be304}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa1061be6c3fb88d32829cba6f6b2be304}} 
RUNNING&the process lets the processor of the current kernel executing instructions \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SUSPENDED@{SUSPENDED}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!SUSPENDED@{SUSPENDED}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa1c2114335a42993ac5cc5dbf65f83d41}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa1c2114335a42993ac5cc5dbf65f83d41}} 
SUSPENDED&the process is in a light sleep, and can return in running mode anytime \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{WAITING@{WAITING}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!WAITING@{WAITING}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa757971c0bc5a1972d5f1b1be2c0e2087}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa757971c0bc5a1972d5f1b1be2c0e2087}} 
WAITING&the process is blocked in a state in which it may not answer to scheduler requests \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CONTINUE@{CONTINUE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!CONTINUE@{CONTINUE}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa49959dd441dcda75d6898cf2c68fb374}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa49959dd441dcda75d6898cf2c68fb374}} 
CONTINUE&the process is blocked in a state in which it will only accept an execution request \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LOCKED@{LOCKED}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!LOCKED@{LOCKED}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa6b4af979c9694e48f340397ac08dfd1c}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa6b4af979c9694e48f340397ac08dfd1c}} 
LOCKED&the process is temporarly owned by someone and can not return in running mode \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{DEBUG@{DEBUG}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!DEBUG@{DEBUG}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa0593585da9181e972974c1274d8f2b4f}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa0593585da9181e972974c1274d8f2b4f}} 
DEBUG&the process is blocked in a state it answers only to the debugger \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ZOMBIE@{ZOMBIE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!ZOMBIE@{ZOMBIE}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa5dfb36109b24f39d54d5c3f48f53def8}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa5dfb36109b24f39d54d5c3f48f53def8}} 
ZOMBIE&the process has completed its execution and is not destroyed yet \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{INTERRUPTED@{INTERRUPTED}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!INTERRUPTED@{INTERRUPTED}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa61575d9328b8976ac10e71c4ae418168}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa61575d9328b8976ac10e71c4ae418168}} 
INTERRUPTED&the process has completed its execution on a non-\/handled interruption \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ERROR@{ERROR}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!ERROR@{ERROR}}}\mbox{\Hypertarget{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa2fd6f336d08340583bd620a7f5694c90}\label{group__api__types_gga2686a7f08a5ada4b6ae5f59342b4047aa2fd6f336d08340583bd620a7f5694c90}} 
ERROR&the process reached an invalid state \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__api__types_gaaec5220542c82828f3e864fa64b679e5}\label{group__api__types_gaaec5220542c82828f3e864fa64b679e5}} 
\index{SVM API types@{SVM API types}!SVM\_Type\_Internal@{SVM\_Type\_Internal}}
\index{SVM\_Type\_Internal@{SVM\_Type\_Internal}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Type\_Internal}{SVM\_Type\_Internal}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__api__types_gaaec5220542c82828f3e864fa64b679e5}{SVM\+\_\+\+Type\+\_\+\+Internal}}}



This type corresponds to value types the SVM can store in its memory. 

The last one represents the class of types the plugin developpers can define in theirs plugins. \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{AUTOMATIC@{AUTOMATIC}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!AUTOMATIC@{AUTOMATIC}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a0a831c2bc18e8354fe3e30ec0f3cdcda}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a0a831c2bc18e8354fe3e30ec0f3cdcda}} 
AUTOMATIC&generic type to be replaced at first assignation \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{INTEGER@{INTEGER}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!INTEGER@{INTEGER}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a5a063e265d2ac903b6808e9f6e73ec46}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a5a063e265d2ac903b6808e9f6e73ec46}} 
INTEGER&integer type corresponding to long long int \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{STRING@{STRING}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!STRING@{STRING}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5aee847e634a4297b274316de8a8ca9921}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5aee847e634a4297b274316de8a8ca9921}} 
STRING&string type corresponding to \mbox{\hyperlink{struct_s_v_m___string}{SVM\+\_\+\+String}} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BOOLEAN@{BOOLEAN}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!BOOLEAN@{BOOLEAN}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a8a583f16e8d237a423c8c1d9087a4c72}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a8a583f16e8d237a423c8c1d9087a4c72}} 
BOOLEAN&boolean type corresponding to SVM\+\_\+\+Boolean \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{POINTER@{POINTER}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!POINTER@{POINTER}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5aad7dce162b42b3d0968ffa57fad43512}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5aad7dce162b42b3d0968ffa57fad43512}} 
POINTER&pointer type used to target memory zones \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LIBRARY@{LIBRARY}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!LIBRARY@{LIBRARY}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a72285f0e2e8529642eb0a6025b12e1e0}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a72285f0e2e8529642eb0a6025b12e1e0}} 
LIBRARY&library type corresponding to SVM\+\_\+\+Code ~\newline
 \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SYMBOL@{SYMBOL}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!SYMBOL@{SYMBOL}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5ae3d30ffaffa3c06ed917e565dda1fbc5}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5ae3d30ffaffa3c06ed917e565dda1fbc5}} 
SYMBOL&symbol type used to target code location \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PLUGIN\_ENTRY\_POINT@{PLUGIN\_ENTRY\_POINT}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!PLUGIN\_ENTRY\_POINT@{PLUGIN\_ENTRY\_POINT}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5af38ce5ebc3cd82ab2063ef32d767ad10}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5af38ce5ebc3cd82ab2063ef32d767ad10}} 
PLUGIN\+\_\+\+ENTRY\+\_\+\+POINT&plugin entry point type used to identify a plugin object \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{INTERRUPTION@{INTERRUPTION}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!INTERRUPTION@{INTERRUPTION}}}\mbox{\Hypertarget{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a99f59d2f8b31bcf7704b1b1f581672e2}\label{group__api__types_ggaaec5220542c82828f3e864fa64b679e5a99f59d2f8b31bcf7704b1b1f581672e2}} 
INTERRUPTION&interruption type corresponds to processor interruptions \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__api__types_gae1c8cbaa2dfb08be25f364fb1ed82108}\label{group__api__types_gae1c8cbaa2dfb08be25f364fb1ed82108}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Plugin\_Comparison@{SVM\_Value\_Plugin\_Comparison}}
\index{SVM\_Value\_Plugin\_Comparison@{SVM\_Value\_Plugin\_Comparison}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Plugin\_Comparison}{SVM\_Value\_Plugin\_Comparison}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__api__types_gae1c8cbaa2dfb08be25f364fb1ed82108}{SVM\+\_\+\+Value\+\_\+\+Plugin\+\_\+\+Comparison}}}



This type corresponds to the result of SVM\+\_\+\+Value\+\_\+\+Plugin comparison. 

It can be used by plugin value comparison callbacks as explicit return value. \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{EQUIVALENCE\_EQUAL@{EQUIVALENCE\_EQUAL}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!EQUIVALENCE\_EQUAL@{EQUIVALENCE\_EQUAL}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a19af6bea4ec997beee6a98da6da5d85b}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a19af6bea4ec997beee6a98da6da5d85b}} 
EQUIVALENCE\+\_\+\+EQUAL&Used to specify that values are equal. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EQUIVALENCE\_DIFFERENT@{EQUIVALENCE\_DIFFERENT}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!EQUIVALENCE\_DIFFERENT@{EQUIVALENCE\_DIFFERENT}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a28fcc4502c67524ae288e3135b682007}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a28fcc4502c67524ae288e3135b682007}} 
EQUIVALENCE\+\_\+\+DIFFERENT&Used to specify that values are different. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ORDER\_EQUAL@{ORDER\_EQUAL}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!ORDER\_EQUAL@{ORDER\_EQUAL}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108ae7f0386e742cd2bdf6f0dec916e4190f}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108ae7f0386e742cd2bdf6f0dec916e4190f}} 
ORDER\+\_\+\+EQUAL&Used to specify that values are equal. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ORDER\_INFERIOR@{ORDER\_INFERIOR}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!ORDER\_INFERIOR@{ORDER\_INFERIOR}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108ada337f09a6c42df992d39bd3a153a9e9}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108ada337f09a6c42df992d39bd3a153a9e9}} 
ORDER\+\_\+\+INFERIOR&Used to specify that left value is inferior to right value. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ORDER\_SUPERIOR@{ORDER\_SUPERIOR}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!ORDER\_SUPERIOR@{ORDER\_SUPERIOR}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a4b0d5fdc0d1ea1a2c48f5a1806c360fa}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a4b0d5fdc0d1ea1a2c48f5a1806c360fa}} 
ORDER\+\_\+\+SUPERIOR&Used to specify that left value is superior to right value. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ORDER\_UNCOMPARABLE@{ORDER\_UNCOMPARABLE}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!ORDER\_UNCOMPARABLE@{ORDER\_UNCOMPARABLE}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a9247ead6463380cac36810c0b5fb28de}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a9247ead6463380cac36810c0b5fb28de}} 
ORDER\+\_\+\+UNCOMPARABLE&Used to specify that left value and the right value can not be compared. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ORDER\_TOTAL@{ORDER\_TOTAL}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!ORDER\_TOTAL@{ORDER\_TOTAL}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108aac0fd9544889e1c6aa3db591f5a4b518}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108aac0fd9544889e1c6aa3db591f5a4b518}} 
ORDER\+\_\+\+TOTAL&Used to specify that the order is total (unused when an equivalence is used) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ORDER\_PARTIAL@{ORDER\_PARTIAL}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!ORDER\_PARTIAL@{ORDER\_PARTIAL}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a8441067a6c7786df72fd7381ccd3eb82}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a8441067a6c7786df72fd7381ccd3eb82}} 
ORDER\+\_\+\+PARTIAL&Used to specify that the order is partial (unused when an equivalence is used, set automatically when ORDER\+\_\+\+UNCOMPARABLE is used) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{COMPARISON\_STRONG@{COMPARISON\_STRONG}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!COMPARISON\_STRONG@{COMPARISON\_STRONG}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a59ab82fb99d910b8935080cb4e6d7584}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a59ab82fb99d910b8935080cb4e6d7584}} 
COMPARISON\+\_\+\+STRONG&Used to specify that the real comparison has been computed. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{COMPARISON\_WEAK@{COMPARISON\_WEAK}!SVM API types@{SVM API types}}\index{SVM API types@{SVM API types}!COMPARISON\_WEAK@{COMPARISON\_WEAK}}}\mbox{\Hypertarget{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a9fac3f2c586c8329192694d9c5b734bd}\label{group__api__types_ggae1c8cbaa2dfb08be25f364fb1ed82108a9fac3f2c586c8329192694d9c5b734bd}} 
COMPARISON\+\_\+\+WEAK&Used to specify that an heuristic or arbitrary comparison has been computed. \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{group__api__types_gaa9ef3e93dd2aee35350fd61cc54851fa}\label{group__api__types_gaa9ef3e93dd2aee35350fd61cc54851fa}} 
\index{SVM API types@{SVM API types}!SVM\_AccessControl@{SVM\_AccessControl}}
\index{SVM\_AccessControl@{SVM\_AccessControl}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_AccessControl}{SVM\_AccessControl}}
{\footnotesize\ttfamily SVM\+\_\+\+Access\+Control}



This type is used to represent quotas on code execution. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gae19c9a8c6077446e11c34dd11059f647}\label{group__api__types_gae19c9a8c6077446e11c34dd11059f647}} 
\index{SVM API types@{SVM API types}!SVM\_Address@{SVM\_Address}}
\index{SVM\_Address@{SVM\_Address}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Address}{SVM\_Address}}
{\footnotesize\ttfamily SVM\+\_\+\+Address}



This type is used to represent\+: 


\begin{DoxyItemize}
\item either a local code address,
\item or a memory address. 
\end{DoxyItemize}\mbox{\Hypertarget{group__api__types_ga2bac50ec69e3f4b0b660eeb39a183927}\label{group__api__types_ga2bac50ec69e3f4b0b660eeb39a183927}} 
\index{SVM API types@{SVM API types}!SVM\_Code@{SVM\_Code}}
\index{SVM\_Code@{SVM\_Code}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Code}{SVM\_Code}}
{\footnotesize\ttfamily SVM\+\_\+\+Code}



This type is used to represent a section of code of the SVM. 

It consists in\+:
\begin{DoxyItemize}
\item a name for debugging purpose,
\item a list of instructions,
\item a local anchor mapping (built from \+:label instructions),
\item a global anchor mapping (built from \+:symbol instructions).
\end{DoxyItemize}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gaadec7878265489486ae62c9f048e446c}\label{group__api__types_gaadec7878265489486ae62c9f048e446c}} 
\index{SVM API types@{SVM API types}!SVM\_Debug\_Form@{SVM\_Debug\_Form}}
\index{SVM\_Debug\_Form@{SVM\_Debug\_Form}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Debug\_Form}{SVM\_Debug\_Form}}
{\footnotesize\ttfamily SVM\+\_\+\+Debug\+\_\+\+Form}



This type is used to represent the a formular in the debugger user interface. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga1b628e5d67deb5adfcacb232c78388cb}\label{group__api__types_ga1b628e5d67deb5adfcacb232c78388cb}} 
\index{SVM API types@{SVM API types}!SVM\_Event\_Queue@{SVM\_Event\_Queue}}
\index{SVM\_Event\_Queue@{SVM\_Event\_Queue}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Event\_Queue}{SVM\_Event\_Queue}}
{\footnotesize\ttfamily SVM\+\_\+\+Event\+\_\+\+Queue}



This type is used as a complex synchronisation facility. 

It allows synchronisation of several clients through event exchange.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga0961ca26fac1df3a61c4f488e8de76a2}\label{group__api__types_ga0961ca26fac1df3a61c4f488e8de76a2}} 
\index{SVM API types@{SVM API types}!SVM\_Event\_Queue\_Address@{SVM\_Event\_Queue\_Address}}
\index{SVM\_Event\_Queue\_Address@{SVM\_Event\_Queue\_Address}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Event\_Queue\_Address}{SVM\_Event\_Queue\_Address}}
{\footnotesize\ttfamily SVM\+\_\+\+Event\+\_\+\+Queue\+\_\+\+Address}



This type is used to represent an entity able to post and get events from an event queue. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gac43cfaba700ac777f51008bdd29970a0}\label{group__api__types_gac43cfaba700ac777f51008bdd29970a0}} 
\index{SVM API types@{SVM API types}!SVM\_Index@{SVM\_Index}}
\index{SVM\_Index@{SVM\_Index}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Index}{SVM\_Index}}
{\footnotesize\ttfamily SVM\+\_\+\+Index}



This type is used to represent an index. 

\mbox{\Hypertarget{group__api__types_ga19af2c6060f3ae282ea4e73121fac69c}\label{group__api__types_ga19af2c6060f3ae282ea4e73121fac69c}} 
\index{SVM API types@{SVM API types}!SVM\_Kernel@{SVM\_Kernel}}
\index{SVM\_Kernel@{SVM\_Kernel}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Kernel}{SVM\_Kernel}}
{\footnotesize\ttfamily SVM\+\_\+\+Kernel}



This type is used to represent an atomic execution environment. 

It consists in\+:
\begin{DoxyItemize}
\item a state,
\item a processor,
\item a memory.
\end{DoxyItemize}

In this API, functions managing processors and memories access them through the kernel holding them.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga6973e582c96542d2a1a62eeef7b8c416}\label{group__api__types_ga6973e582c96542d2a1a62eeef7b8c416}} 
\index{SVM API types@{SVM API types}!SVM\_Kernel\_State@{SVM\_Kernel\_State}}
\index{SVM\_Kernel\_State@{SVM\_Kernel\_State}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Kernel\_State}{SVM\_Kernel\_State}}
{\footnotesize\ttfamily SVM\+\_\+\+Kernel\+\_\+\+State}



This type represents the status of a kernel. 

\mbox{\Hypertarget{group__api__types_ga9e838c51ce283318b8730f828a77fa58}\label{group__api__types_ga9e838c51ce283318b8730f828a77fa58}} 
\index{SVM API types@{SVM API types}!SVM\_Lock@{SVM\_Lock}}
\index{SVM\_Lock@{SVM\_Lock}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Lock}{SVM\_Lock}}
{\footnotesize\ttfamily SVM\+\_\+\+Lock}



This type is used as a simple synchronisation facility. 

This lock mutually excludes a unique writter against several concurrent readers.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga3ac4056beee2ad9fce9f459ae749f5b0}\label{group__api__types_ga3ac4056beee2ad9fce9f459ae749f5b0}} 
\index{SVM API types@{SVM API types}!SVM\_LockGuard\_Read@{SVM\_LockGuard\_Read}}
\index{SVM\_LockGuard\_Read@{SVM\_LockGuard\_Read}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_LockGuard\_Read}{SVM\_LockGuard\_Read}}
{\footnotesize\ttfamily SVM\+\_\+\+Lock\+Guard\+\_\+\+Read}



This type is used to represent the aquisition of a SVM\+\_\+\+Lock as a reader. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gae7ef77b583070e4e157c7ba5a36dd51e}\label{group__api__types_gae7ef77b583070e4e157c7ba5a36dd51e}} 
\index{SVM API types@{SVM API types}!SVM\_LockGuard\_Write@{SVM\_LockGuard\_Write}}
\index{SVM\_LockGuard\_Write@{SVM\_LockGuard\_Write}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_LockGuard\_Write}{SVM\_LockGuard\_Write}}
{\footnotesize\ttfamily SVM\+\_\+\+Lock\+Guard\+\_\+\+Write}



This type is used to represent the aquisition of a SVM\+\_\+\+Lock as a writer. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gab09bc91d1ed2c59cf667d75b06fb3170}\label{group__api__types_gab09bc91d1ed2c59cf667d75b06fb3170}} 
\index{SVM API types@{SVM API types}!SVM\_Memory\_Zone@{SVM\_Memory\_Zone}}
\index{SVM\_Memory\_Zone@{SVM\_Memory\_Zone}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Memory\_Zone}{SVM\_Memory\_Zone}}
{\footnotesize\ttfamily SVM\+\_\+\+Memory\+\_\+\+Zone}



This type is used to represent the types of a contiguous zone of memory prior to its allocation. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gab05a82304ba262cf3ae97b0c5f8ab707}\label{group__api__types_gab05a82304ba262cf3ae97b0c5f8ab707}} 
\index{SVM API types@{SVM API types}!SVM\_Parameter@{SVM\_Parameter}}
\index{SVM\_Parameter@{SVM\_Parameter}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Parameter}{SVM\_Parameter}}
{\footnotesize\ttfamily SVM\+\_\+\+Parameter}



This type is used by the SVM to pass instruction parameters to the corresponding plugin function. 

It is also used to pass parameters to plugin function calls.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}\label{group__api__types_gabbfa54994e431fe68d4f6580c112e1a0}} 
\index{SVM API types@{SVM API types}!SVM\_Process@{SVM\_Process}}
\index{SVM\_Process@{SVM\_Process}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Process}{SVM\_Process}}
{\footnotesize\ttfamily SVM\+\_\+\+Process}



This type is used to represent an execution thread in the SVM. 

It consists in\+:
\begin{DoxyItemize}
\item a name for debugging purpose,
\item a state,
\item a sequencer deciding in which order the kernels are executed,
\item a list of kernels.
\end{DoxyItemize}

In this API\+:
\begin{DoxyItemize}
\item functions managing the sequencer access it through the process holding it,
\item functions managing a process will check whether the process can be safely managed\+:
\begin{DoxyItemize}
\item the action is done on the current process,
\item the action is done on another process\+: in such case, the process has to be locked by the current one,
\item for few functions, this lock is not needed even on other processes, and this will be mentionned in the help of these functions.
\end{DoxyItemize}
\end{DoxyItemize}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gabdebe955bb051d608ee64f9ddf2a24da}\label{group__api__types_gabdebe955bb051d608ee64f9ddf2a24da}} 
\index{SVM API types@{SVM API types}!SVM\_Process\_Lock@{SVM\_Process\_Lock}}
\index{SVM\_Process\_Lock@{SVM\_Process\_Lock}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Process\_Lock}{SVM\_Process\_Lock}}
{\footnotesize\ttfamily SVM\+\_\+\+Process\+\_\+\+Lock}



This type is used to represent the aquisition of a lock on a remote process. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gac798057426741f818bef458a08cdd604}\label{group__api__types_gac798057426741f818bef458a08cdd604}} 
\index{SVM API types@{SVM API types}!SVM\_Scheduler@{SVM\_Scheduler}}
\index{SVM\_Scheduler@{SVM\_Scheduler}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Scheduler}{SVM\_Scheduler}}
{\footnotesize\ttfamily SVM\+\_\+\+Scheduler}



This type is used to represent an execution scheduler. 

A scheduler is a process execution orchestrator.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gaab347fe7005c87722bd7d80cfe94333c}\label{group__api__types_gaab347fe7005c87722bd7d80cfe94333c}} 
\index{SVM API types@{SVM API types}!SVM\_Size@{SVM\_Size}}
\index{SVM\_Size@{SVM\_Size}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Size}{SVM\_Size}}
{\footnotesize\ttfamily SVM\+\_\+\+Size}



This type is used to represent an object size. 

\mbox{\Hypertarget{group__api__types_ga69ff4bdc03f61848ca94b7c2c4d30347}\label{group__api__types_ga69ff4bdc03f61848ca94b7c2c4d30347}} 
\index{SVM API types@{SVM API types}!SVM\_Structure@{SVM\_Structure}}
\index{SVM\_Structure@{SVM\_Structure}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Structure}{SVM\_Structure}}
{\footnotesize\ttfamily SVM\+\_\+\+Structure}



This type is used to convey a C pointer used for data exchange between plugins. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga1d0dbcf7d04a60f9bab902433710f617}\label{group__api__types_ga1d0dbcf7d04a60f9bab902433710f617}} 
\index{SVM API types@{SVM API types}!SVM\_Type@{SVM\_Type}}
\index{SVM\_Type@{SVM\_Type}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Type}{SVM\_Type}}
{\footnotesize\ttfamily SVM\+\_\+\+Type}



This type is used to represent types of any value the SVM can store in one of its memories. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__api__types_gaf37a7c40972a9dabfa18b14127c34fb1}{SVM\+\_\+\+Value}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gaf37a7c40972a9dabfa18b14127c34fb1}\label{group__api__types_gaf37a7c40972a9dabfa18b14127c34fb1}} 
\index{SVM API types@{SVM API types}!SVM\_Value@{SVM\_Value}}
\index{SVM\_Value@{SVM\_Value}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value}{SVM\_Value}}
{\footnotesize\ttfamily SVM\+\_\+\+Value}



This type is used to represent any value the SVM can store in one of its memories. 

This type is not equivalent to the automatic type. It just means the type of the value will not be considered from this variable.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gaa68175eb7c5646940953969173d37b79}\label{group__api__types_gaa68175eb7c5646940953969173d37b79}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Automatic@{SVM\_Value\_Automatic}}
\index{SVM\_Value\_Automatic@{SVM\_Value\_Automatic}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Automatic}{SVM\_Value\_Automatic}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Automatic}



This type is used to represent a null automatic value. 

This type has no corresponding type in C.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gadb4e3d3f8c78ef0d286510ef9361bd56}\label{group__api__types_gadb4e3d3f8c78ef0d286510ef9361bd56}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Boolean@{SVM\_Value\_Boolean}}
\index{SVM\_Value\_Boolean@{SVM\_Value\_Boolean}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Boolean}{SVM\_Value\_Boolean}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Boolean}



This type is used to represent a boolean the SVM can store in one of its memories. 

The corresponding C type is SVM\+\_\+\+Boolean.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}\label{group__api__types_gaffdbc5928860a9f9c0f1db65bfb63b30}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Integer@{SVM\_Value\_Integer}}
\index{SVM\_Value\_Integer@{SVM\_Value\_Integer}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Integer}{SVM\_Value\_Integer}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Integer}



This type is used to represent an integer the SVM can store in one of its memories. 

The corresponding C type is long long int.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga05264517c09f5a00e9f4a613739fbd79}\label{group__api__types_ga05264517c09f5a00e9f4a613739fbd79}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Interruption@{SVM\_Value\_Interruption}}
\index{SVM\_Value\_Interruption@{SVM\_Value\_Interruption}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Interruption}{SVM\_Value\_Interruption}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Interruption}



This type is used to represent an interruption name the SVM can store in one of its memories. 

This type has no corresponding type in C, as it is made of\+:
\begin{DoxyItemize}
\item an internal interruption type,
\item a plugin entry point for interruptions defined by plugins.
\end{DoxyItemize}

An interruption name can be used to alter the program behavior in case of interruption, or can be used to interrupt a program, raising an event or an error.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga765b850c130fadedd1e7c334e79a93a3}\label{group__api__types_ga765b850c130fadedd1e7c334e79a93a3}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Library@{SVM\_Value\_Library}}
\index{SVM\_Value\_Library@{SVM\_Value\_Library}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Library}{SVM\_Value\_Library}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Library}



This type is used to represent a library the SVM can store in one of its memories. 

This type has no corresponding type in C, as it is made of an SVM\+\_\+\+Code instance.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga8668c50dcc077c7785c3a07ed08d8827}\label{group__api__types_ga8668c50dcc077c7785c3a07ed08d8827}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Plugin@{SVM\_Value\_Plugin}}
\index{SVM\_Value\_Plugin@{SVM\_Value\_Plugin}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Plugin}{SVM\_Value\_Plugin}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Plugin}



This type is used to represent a value defined by a plugin the SVM can store in one of its memories. 

This type has no corresponding type in C, as it is made of\+:
\begin{DoxyItemize}
\item a plugin entry point describing the type of the value,
\item a void$\ast$ pointer managed by plugin callbacks.
\end{DoxyItemize}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga90c57554e1d1ea2967e133696d0cf2cd}\label{group__api__types_ga90c57554e1d1ea2967e133696d0cf2cd}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_PluginEntryPoint@{SVM\_Value\_PluginEntryPoint}}
\index{SVM\_Value\_PluginEntryPoint@{SVM\_Value\_PluginEntryPoint}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_PluginEntryPoint}{SVM\_Value\_PluginEntryPoint}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Plugin\+Entry\+Point}



This type is used to represent a plugin entry point the SVM can store in one of its memories. 

This type has no corresponding type in C, as it is made of\+:
\begin{DoxyItemize}
\item a plugin name,
\item an entry name in this plugin.
\end{DoxyItemize}

A plugin entry point can be used to reference an object in a plugin.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga613f7430f76ab41fd47f6a386c370828}\label{group__api__types_ga613f7430f76ab41fd47f6a386c370828}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Pointer@{SVM\_Value\_Pointer}}
\index{SVM\_Value\_Pointer@{SVM\_Value\_Pointer}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Pointer}{SVM\_Value\_Pointer}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Pointer}



This type is used to represent a pointer the SVM can store in one of its memories. 

This type has no corresponding type in C, as it is made of\+:
\begin{DoxyItemize}
\item a memory address,
\item a size.
\end{DoxyItemize}

A pointer can then represent a zone in memory.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga3dffb7b48e1c724c527353525675e41c}\label{group__api__types_ga3dffb7b48e1c724c527353525675e41c}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_String@{SVM\_Value\_String}}
\index{SVM\_Value\_String@{SVM\_Value\_String}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_String}{SVM\_Value\_String}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+String}



This type is used to represent a string the SVM can store in one of its memories. 

The corresponding C type is \mbox{\hyperlink{struct_s_v_m___string}{SVM\+\_\+\+String}} or C-\/nul terminated strings.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_ga9b78468202465689b5cdc9c276d5f564}\label{group__api__types_ga9b78468202465689b5cdc9c276d5f564}} 
\index{SVM API types@{SVM API types}!SVM\_Value\_Symbol@{SVM\_Value\_Symbol}}
\index{SVM\_Value\_Symbol@{SVM\_Value\_Symbol}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Value\_Symbol}{SVM\_Value\_Symbol}}
{\footnotesize\ttfamily SVM\+\_\+\+Value\+\_\+\+Symbol}



This type is used to represent a symbol the SVM can store in one of its memories. 

This type has no corresponding type in C, as it is made of\+:
\begin{DoxyItemize}
\item an SVM\+\_\+\+Code instance,
\item a local address.
\end{DoxyItemize}

A symbol can be used in jumps or functions calls.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__api__types_gad01adf1b14e8f8309ff0c059b2a51196}\label{group__api__types_gad01adf1b14e8f8309ff0c059b2a51196}} 
\index{SVM API types@{SVM API types}!SVM\_Variable@{SVM\_Variable}}
\index{SVM\_Variable@{SVM\_Variable}!SVM API types@{SVM API types}}
\doxysubsubsection{\texorpdfstring{SVM\_Variable}{SVM\_Variable}}
{\footnotesize\ttfamily SVM\+\_\+\+Variable}



This type is used to represent any object managed by the SVM. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__variables}{SVM variables}} 
\end{DoxySeeAlso}
