\hypertarget{a02229}{}\doxysection{AAX\+\_\+\+IDma Class Reference}
\label{a02229}\index{AAX\_IDma@{AAX\_IDma}}


{\ttfamily \#include $<$AAX\+\_\+\+IDma.\+h$>$}



\doxysubsection{Description}
Cross-\/platform interface for access to the host\textquotesingle{}s direct memory access (DMA) facilities. 

\begin{DoxyRefDesc}{\+:\+Implemented by the AAX Host}
\item[\mbox{\hyperlink{a00872__aax_host_implementation000005}{\+:\+Implemented by the AAX Host}}]\end{DoxyRefDesc}


This interface is provided via a DMA port in the plug-\/in\textquotesingle{}s algorithm context.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a02193_aff9e1c726bbdf500f2d61b164589744e}{AAX\+\_\+\+IComponent\+Descriptor\+::\+Add\+Dma\+Instance()}} 

\mbox{\hyperlink{a00891}{Direct Memory Access}} 
\end{DoxySeeAlso}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842}{EState}} \{ \newline
\mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842a69a920ab4dfa07772db187753b2792c3}{e\+State\+\_\+\+Error}} = -\/1
, \newline
\mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842a30c329d408f76e22e599bd595d5a05ee}{e\+State\+\_\+\+Init}} = 0
, \newline
\mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842ab6dd06647cf9721e5b0b737952c3bb95}{e\+State\+\_\+\+Running}} = 1
, \newline
\mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842a0bc0574a45ed068800b0c7478084ae59}{e\+State\+\_\+\+Complete}} = 2
, \newline
\mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842ac7d67500e8f2bb9c260956db33549d4f}{e\+State\+\_\+\+Pending}} = 3
 \}
\item 
enum \mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39b}{EMode}} \{ \newline
\mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39ba258186a22f0d1691d0cb369c5af278a8}{e\+Mode\+\_\+\+Error}} = -\/1
, \newline
\mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39ba253c129077dc004dd83cca8931e69eb9}{e\+Mode\+\_\+\+Burst}} = 6
, \newline
\mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39badec2b76540ba9a168b7a049acb50654d}{e\+Mode\+\_\+\+Gather}} = 10
, \newline
\mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39bac8f3cbed92bc7d135e306cc154ac2ae6}{e\+Mode\+\_\+\+Scatter}} = 11
 \}
\begin{DoxyCompactList}\small\item\em DMA mode IDs. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a02229_a6e3ec99b5c67a48fa9d53087c833a990}{$\sim$\+AAX\+\_\+\+IDma}} ()
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Basic DMA operation}\par
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_ac732944930f4fce9c47b59fe278eddc1}{Post\+Request}} ()=0
\begin{DoxyCompactList}\small\item\em Posts the transfer request to the DMA server. \end{DoxyCompactList}\item 
virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a44981285d022e5ddee41d903eed68a7d}{Is\+Transfer\+Complete}} ()=0
\begin{DoxyCompactList}\small\item\em Query whether a transfer has completed. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a4d1a182655fef78b18d564a5669bae18}{Set\+Dma\+State}} (\mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842}{EState}} i\+State)=0
\begin{DoxyCompactList}\small\item\em Sets the DMA State. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842}{EState}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_ab5cf4ad618853e4a94ed63a693d7b800}{Get\+Dma\+State}} () const =0
\begin{DoxyCompactList}\small\item\em Inquire to find the state of the DMA instance. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39b}{EMode}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a9bd67775d41c32da19d5532362fe86c8}{Get\+Dma\+Mode}} () const =0
\begin{DoxyCompactList}\small\item\em Inquire to find the mode of the DMA instance. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Methods for Burst operation}\par
{\em Use these methods in conjunction with \mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39ba253c129077dc004dd83cca8931e69eb9}{AAX\+\_\+\+IDma\+::e\+Mode\+\_\+\+Burst}} }\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a92774eab2dec8864d617e2655f3de00d}{Set\+Src}} (int8\+\_\+t $\ast$i\+Src)=0
\begin{DoxyCompactList}\small\item\em Sets the address of the source buffer. \end{DoxyCompactList}\item 
virtual int8\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a41493395954117a2623c1e983ee990be}{Get\+Src}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the address of the source buffer. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a80c98a61fc14c8cc87a30360e92655fe}{Set\+Dst}} (int8\+\_\+t $\ast$i\+Dst)=0
\begin{DoxyCompactList}\small\item\em Sets the address of the destination buffer. \end{DoxyCompactList}\item 
virtual int8\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a9fc226b4a2d65fe6a0085aa0f90edccc}{Get\+Dst}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the address of the destination buffer. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_ac85fdea20b072cbdc258aa398d02fa92}{Set\+Burst\+Length}} (int32\+\_\+t i\+Burst\+Length\+Bytes)=0
\begin{DoxyCompactList}\small\item\em Sets the length of each burst. \end{DoxyCompactList}\item 
virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_ac4ded104803ed34131be6924d591f0e6}{Get\+Burst\+Length}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the length of each burst. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a174fc7382d7f587252f4a9e557830b91}{Set\+Num\+Bursts}} (int32\+\_\+t i\+Num\+Bursts)=0
\begin{DoxyCompactList}\small\item\em Sets the number of bursts to perform before giving up priority to other DMA transfers. \end{DoxyCompactList}\item 
virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_ae8a335f5230a5f7face87f9efb7c8aaf}{Get\+Num\+Bursts}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the number of bursts to perform before giving up priority to other DMA transfers. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a4d38f5502dc2446ea997e675d3f59d61}{Set\+Transfer\+Size}} (int32\+\_\+t i\+Transfer\+Size\+Bytes)=0
\begin{DoxyCompactList}\small\item\em Sets the size of the whole transfer. \end{DoxyCompactList}\item 
virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a3cd20d341b8b592d259716768a03a88a}{Get\+Transfer\+Size}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the size of the whole transfer, in Bytes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Methods for Scatter and Gather operation}\par
{\em Use these methods in conjunction with \mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39bac8f3cbed92bc7d135e306cc154ac2ae6}{AAX\+\_\+\+IDma\+::e\+Mode\+\_\+\+Scatter}} and \mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39badec2b76540ba9a168b7a049acb50654d}{AAX\+\_\+\+IDma\+::e\+Mode\+\_\+\+Gather}} }\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_afeda3af6b2c5da7a8b2759aa9429c7dc}{Set\+Fifo\+Buffer}} (int8\+\_\+t $\ast$i\+Fifo\+Base)=0
\begin{DoxyCompactList}\small\item\em Sets the address of the FIFO buffer for the DMA transfer (usually the external memory block) \end{DoxyCompactList}\item 
virtual int8\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a92de4b24added5759543181910c91dac}{Get\+Fifo\+Buffer}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the address of the FIFO buffer for the DMA transfer. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_ad0c409f61f989e72f6afd47cb02b108e}{Set\+Linear\+Buffer}} (int8\+\_\+t $\ast$i\+Linear\+Base)=0
\begin{DoxyCompactList}\small\item\em Sets the address of the linear buffer for the DMA transfer (usually the internal memory block) \end{DoxyCompactList}\item 
virtual int8\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a281433c44d49923671bba494bbce1661}{Get\+Linear\+Buffer}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the address of the linear buffer for the DMA transfer. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a9a106088088a8fc812b137bd90c0fa3a}{Set\+Offset\+Table}} (const int32\+\_\+t $\ast$i\+Offset\+Table)=0
\begin{DoxyCompactList}\small\item\em Sets the offset table for the DMA transfer. \end{DoxyCompactList}\item 
virtual const int32\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a9cec9e4b24e892dc76e9824d8d57b1b9}{Get\+Offset\+Table}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the offset table for the DMA transfer. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a58f2933fda57ac6a1cdf20cce96aceac}{Set\+Num\+Offsets}} (int32\+\_\+t i\+Num\+Offsets)=0
\begin{DoxyCompactList}\small\item\em Sets the number of offets in the offset table. \end{DoxyCompactList}\item 
virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a582df429c4f543d66d63c87e2ea3a1e2}{Get\+Num\+Offsets}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the number of offets in the offset table. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_ac3a22df0462c7f4888a429b3eadae4dd}{Set\+Base\+Offset}} (int32\+\_\+t i\+Base\+Offset\+Bytes)=0
\begin{DoxyCompactList}\small\item\em Sets the relative base offset into the FIFO where transfers will begin. \end{DoxyCompactList}\item 
virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a1f6ce2d66bb6c26fa4e7e70821e8bd2d}{Get\+Base\+Offset}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the relative base offset into the FIFO where transfers will begin. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_a98f731e4c7c60a3b6b969fd699448224}{Set\+Fifo\+Size}} (int32\+\_\+t i\+Size\+Bytes)=0
\begin{DoxyCompactList}\small\item\em Sets the size of the FIFO buffer, in bytes. \end{DoxyCompactList}\item 
virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} \mbox{\hyperlink{a02229_aae573c01b6ecc918978f74881e87a761}{Get\+Fifo\+Size}} ()=0
\begin{DoxyCompactList}\small\item\em Gets the size of the FIFO buffer, in bytes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}


\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{a02229_a64e694fd40d32179e429eb7934a64842}\label{a02229_a64e694fd40d32179e429eb7934a64842}} 
\index{AAX\_IDma@{AAX\_IDma}!EState@{EState}}
\index{EState@{EState}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{EState}{EState}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842}{AAX\+\_\+\+IDma\+::\+EState}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{eState\_Error@{eState\_Error}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eState\_Error@{eState\_Error}}}\mbox{\Hypertarget{a02229_a64e694fd40d32179e429eb7934a64842a69a920ab4dfa07772db187753b2792c3}\label{a02229_a64e694fd40d32179e429eb7934a64842a69a920ab4dfa07772db187753b2792c3}} 
e\+State\+\_\+\+Error&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eState\_Init@{eState\_Init}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eState\_Init@{eState\_Init}}}\mbox{\Hypertarget{a02229_a64e694fd40d32179e429eb7934a64842a30c329d408f76e22e599bd595d5a05ee}\label{a02229_a64e694fd40d32179e429eb7934a64842a30c329d408f76e22e599bd595d5a05ee}} 
e\+State\+\_\+\+Init&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eState\_Running@{eState\_Running}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eState\_Running@{eState\_Running}}}\mbox{\Hypertarget{a02229_a64e694fd40d32179e429eb7934a64842ab6dd06647cf9721e5b0b737952c3bb95}\label{a02229_a64e694fd40d32179e429eb7934a64842ab6dd06647cf9721e5b0b737952c3bb95}} 
e\+State\+\_\+\+Running&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eState\_Complete@{eState\_Complete}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eState\_Complete@{eState\_Complete}}}\mbox{\Hypertarget{a02229_a64e694fd40d32179e429eb7934a64842a0bc0574a45ed068800b0c7478084ae59}\label{a02229_a64e694fd40d32179e429eb7934a64842a0bc0574a45ed068800b0c7478084ae59}} 
e\+State\+\_\+\+Complete&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eState\_Pending@{eState\_Pending}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eState\_Pending@{eState\_Pending}}}\mbox{\Hypertarget{a02229_a64e694fd40d32179e429eb7934a64842ac7d67500e8f2bb9c260956db33549d4f}\label{a02229_a64e694fd40d32179e429eb7934a64842ac7d67500e8f2bb9c260956db33549d4f}} 
e\+State\+\_\+\+Pending&\\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{a02229_af8d0f19f2896dd6dbd126b919b24e39b}\label{a02229_af8d0f19f2896dd6dbd126b919b24e39b}} 
\index{AAX\_IDma@{AAX\_IDma}!EMode@{EMode}}
\index{EMode@{EMode}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{EMode}{EMode}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39b}{AAX\+\_\+\+IDma\+::\+EMode}}}



DMA mode IDs. 

These IDs are used to bind DMA context fields to a particular DMA mode when describing the fields with \mbox{\hyperlink{a02193_aff9e1c726bbdf500f2d61b164589744e}{AAX\+\_\+\+IComponent\+Descriptor\+::\+Add\+Dma\+Instance()}} \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{eMode\_Error@{eMode\_Error}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eMode\_Error@{eMode\_Error}}}\mbox{\Hypertarget{a02229_af8d0f19f2896dd6dbd126b919b24e39ba258186a22f0d1691d0cb369c5af278a8}\label{a02229_af8d0f19f2896dd6dbd126b919b24e39ba258186a22f0d1691d0cb369c5af278a8}} 
e\+Mode\+\_\+\+Error&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eMode\_Burst@{eMode\_Burst}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eMode\_Burst@{eMode\_Burst}}}\mbox{\Hypertarget{a02229_af8d0f19f2896dd6dbd126b919b24e39ba253c129077dc004dd83cca8931e69eb9}\label{a02229_af8d0f19f2896dd6dbd126b919b24e39ba253c129077dc004dd83cca8931e69eb9}} 
e\+Mode\+\_\+\+Burst&Burst mode (uncommon) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eMode\_Gather@{eMode\_Gather}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eMode\_Gather@{eMode\_Gather}}}\mbox{\Hypertarget{a02229_af8d0f19f2896dd6dbd126b919b24e39badec2b76540ba9a168b7a049acb50654d}\label{a02229_af8d0f19f2896dd6dbd126b919b24e39badec2b76540ba9a168b7a049acb50654d}} 
e\+Mode\+\_\+\+Gather&Gather mode. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{eMode\_Scatter@{eMode\_Scatter}!AAX\_IDma@{AAX\_IDma}}\index{AAX\_IDma@{AAX\_IDma}!eMode\_Scatter@{eMode\_Scatter}}}\mbox{\Hypertarget{a02229_af8d0f19f2896dd6dbd126b919b24e39bac8f3cbed92bc7d135e306cc154ac2ae6}\label{a02229_af8d0f19f2896dd6dbd126b919b24e39bac8f3cbed92bc7d135e306cc154ac2ae6}} 
e\+Mode\+\_\+\+Scatter&Scatter mode. \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a02229_a6e3ec99b5c67a48fa9d53087c833a990}\label{a02229_a6e3ec99b5c67a48fa9d53087c833a990}} 
\index{AAX\_IDma@{AAX\_IDma}!````~AAX\_IDma@{$\sim$AAX\_IDma}}
\index{````~AAX\_IDma@{$\sim$AAX\_IDma}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{$\sim$AAX\_IDma()}{~AAX\_IDma()}}
{\footnotesize\ttfamily virtual AAX\+\_\+\+IDma\+::$\sim$\+AAX\+\_\+\+IDma (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a02229_ac732944930f4fce9c47b59fe278eddc1}\label{a02229_ac732944930f4fce9c47b59fe278eddc1}} 
\index{AAX\_IDma@{AAX\_IDma}!PostRequest@{PostRequest}}
\index{PostRequest@{PostRequest}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{PostRequest()}{PostRequest()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Post\+Request (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Posts the transfer request to the DMA server. 

\begin{DoxyNote}{Note}
Whichever mode this method is called on first will be the first mode to start transferring. Most plug-\/ins should therefore call this method for their Scatter DMA fields before their Gather DMA fields so that the scattered data is available as quickly as possible for future gathers.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a44981285d022e5ddee41d903eed68a7d}\label{a02229_a44981285d022e5ddee41d903eed68a7d}} 
\index{AAX\_IDma@{AAX\_IDma}!IsTransferComplete@{IsTransferComplete}}
\index{IsTransferComplete@{IsTransferComplete}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{IsTransferComplete()}{IsTransferComplete()}}
{\footnotesize\ttfamily virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Is\+Transfer\+Complete (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Query whether a transfer has completed. 

A return value of false indicates an error, and that the DMA missed its cycle count deadline

\begin{DoxyNote}{Note}
This function should not be used for polling within a Process loop! Instead, it can be used as a test for DMA failure. This test is usually performed via a Debug-\/only assert.
\end{DoxyNote}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000048}{Todo}}]Clarify return value meaning -- ambiguity in documentation\end{DoxyRefDesc}


\begin{DoxyReturn}{Returns}
{\bfseries{true}} if all pending transfers are complete 

{\bfseries{false}} if pending transfers are not complete 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a4d1a182655fef78b18d564a5669bae18}\label{a02229_a4d1a182655fef78b18d564a5669bae18}} 
\index{AAX\_IDma@{AAX\_IDma}!SetDmaState@{SetDmaState}}
\index{SetDmaState@{SetDmaState}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetDmaState()}{SetDmaState()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Dma\+State (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842}{EState}}}]{i\+State }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the DMA State. 

\begin{DoxyNote}{Note}
This method is part of the host interface and should not be used by plug-\/ins
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_ab5cf4ad618853e4a94ed63a693d7b800}\label{a02229_ab5cf4ad618853e4a94ed63a693d7b800}} 
\index{AAX\_IDma@{AAX\_IDma}!GetDmaState@{GetDmaState}}
\index{GetDmaState@{GetDmaState}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetDmaState()}{GetDmaState()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a02229_a64e694fd40d32179e429eb7934a64842}{EState}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Dma\+State (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Inquire to find the state of the DMA instance. 

\mbox{\Hypertarget{a02229_a9bd67775d41c32da19d5532362fe86c8}\label{a02229_a9bd67775d41c32da19d5532362fe86c8}} 
\index{AAX\_IDma@{AAX\_IDma}!GetDmaMode@{GetDmaMode}}
\index{GetDmaMode@{GetDmaMode}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetDmaMode()}{GetDmaMode()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a02229_af8d0f19f2896dd6dbd126b919b24e39b}{EMode}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Dma\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Inquire to find the mode of the DMA instance. 

This value does not change, so there is no setter. \mbox{\Hypertarget{a02229_a92774eab2dec8864d617e2655f3de00d}\label{a02229_a92774eab2dec8864d617e2655f3de00d}} 
\index{AAX\_IDma@{AAX\_IDma}!SetSrc@{SetSrc}}
\index{SetSrc@{SetSrc}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetSrc()}{SetSrc()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Src (\begin{DoxyParamCaption}\item[{int8\+\_\+t $\ast$}]{i\+Src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the address of the source buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Src} & Address of the location in the source buffer where the read transfer should begin\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a41493395954117a2623c1e983ee990be}\label{a02229_a41493395954117a2623c1e983ee990be}} 
\index{AAX\_IDma@{AAX\_IDma}!GetSrc@{GetSrc}}
\index{GetSrc@{GetSrc}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetSrc()}{GetSrc()}}
{\footnotesize\ttfamily virtual int8\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Src (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the address of the source buffer. 

\mbox{\Hypertarget{a02229_a80c98a61fc14c8cc87a30360e92655fe}\label{a02229_a80c98a61fc14c8cc87a30360e92655fe}} 
\index{AAX\_IDma@{AAX\_IDma}!SetDst@{SetDst}}
\index{SetDst@{SetDst}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetDst()}{SetDst()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Dst (\begin{DoxyParamCaption}\item[{int8\+\_\+t $\ast$}]{i\+Dst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the address of the destination buffer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Dst} & Address of the location in the destination buffer where the write transfer should begin\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a9fc226b4a2d65fe6a0085aa0f90edccc}\label{a02229_a9fc226b4a2d65fe6a0085aa0f90edccc}} 
\index{AAX\_IDma@{AAX\_IDma}!GetDst@{GetDst}}
\index{GetDst@{GetDst}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetDst()}{GetDst()}}
{\footnotesize\ttfamily virtual int8\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Dst (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the address of the destination buffer. 

\mbox{\Hypertarget{a02229_ac85fdea20b072cbdc258aa398d02fa92}\label{a02229_ac85fdea20b072cbdc258aa398d02fa92}} 
\index{AAX\_IDma@{AAX\_IDma}!SetBurstLength@{SetBurstLength}}
\index{SetBurstLength@{SetBurstLength}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetBurstLength()}{SetBurstLength()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Burst\+Length (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Burst\+Length\+Bytes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the length of each burst. 

\begin{DoxyNote}{Note}
Burst length must be between 1 and 64 Bytes, inclusive 

64-\/Byte transfers are recommended for the fastest overall transfer speed
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_ac4ded104803ed34131be6924d591f0e6}\label{a02229_ac4ded104803ed34131be6924d591f0e6}} 
\index{AAX\_IDma@{AAX\_IDma}!GetBurstLength@{GetBurstLength}}
\index{GetBurstLength@{GetBurstLength}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetBurstLength()}{GetBurstLength()}}
{\footnotesize\ttfamily virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Burst\+Length (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the length of each burst. 

\mbox{\Hypertarget{a02229_a174fc7382d7f587252f4a9e557830b91}\label{a02229_a174fc7382d7f587252f4a9e557830b91}} 
\index{AAX\_IDma@{AAX\_IDma}!SetNumBursts@{SetNumBursts}}
\index{SetNumBursts@{SetNumBursts}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetNumBursts()}{SetNumBursts()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Num\+Bursts (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Num\+Bursts }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the number of bursts to perform before giving up priority to other DMA transfers. 

Valid values are 1, 2, 4, or 16.

The full transmission may be broken up into several series of bursts, and thus the total size of the data being transferred is not bounded by the number of bursts times the burst length.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Num\+Bursts} & The number of bursts\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_ae8a335f5230a5f7face87f9efb7c8aaf}\label{a02229_ae8a335f5230a5f7face87f9efb7c8aaf}} 
\index{AAX\_IDma@{AAX\_IDma}!GetNumBursts@{GetNumBursts}}
\index{GetNumBursts@{GetNumBursts}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetNumBursts()}{GetNumBursts()}}
{\footnotesize\ttfamily virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Num\+Bursts (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the number of bursts to perform before giving up priority to other DMA transfers. 

\mbox{\Hypertarget{a02229_a4d38f5502dc2446ea997e675d3f59d61}\label{a02229_a4d38f5502dc2446ea997e675d3f59d61}} 
\index{AAX\_IDma@{AAX\_IDma}!SetTransferSize@{SetTransferSize}}
\index{SetTransferSize@{SetTransferSize}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetTransferSize()}{SetTransferSize()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Transfer\+Size (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Transfer\+Size\+Bytes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the size of the whole transfer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Transfer\+Size\+Bytes} & The transfer size, in Bytes\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a3cd20d341b8b592d259716768a03a88a}\label{a02229_a3cd20d341b8b592d259716768a03a88a}} 
\index{AAX\_IDma@{AAX\_IDma}!GetTransferSize@{GetTransferSize}}
\index{GetTransferSize@{GetTransferSize}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetTransferSize()}{GetTransferSize()}}
{\footnotesize\ttfamily virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Transfer\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the size of the whole transfer, in Bytes. 

\mbox{\Hypertarget{a02229_afeda3af6b2c5da7a8b2759aa9429c7dc}\label{a02229_afeda3af6b2c5da7a8b2759aa9429c7dc}} 
\index{AAX\_IDma@{AAX\_IDma}!SetFifoBuffer@{SetFifoBuffer}}
\index{SetFifoBuffer@{SetFifoBuffer}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetFifoBuffer()}{SetFifoBuffer()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Fifo\+Buffer (\begin{DoxyParamCaption}\item[{int8\+\_\+t $\ast$}]{i\+Fifo\+Base }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the address of the FIFO buffer for the DMA transfer (usually the external memory block) 

\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a92de4b24added5759543181910c91dac}\label{a02229_a92de4b24added5759543181910c91dac}} 
\index{AAX\_IDma@{AAX\_IDma}!GetFifoBuffer@{GetFifoBuffer}}
\index{GetFifoBuffer@{GetFifoBuffer}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetFifoBuffer()}{GetFifoBuffer()}}
{\footnotesize\ttfamily virtual int8\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Fifo\+Buffer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the address of the FIFO buffer for the DMA transfer. 

\mbox{\Hypertarget{a02229_ad0c409f61f989e72f6afd47cb02b108e}\label{a02229_ad0c409f61f989e72f6afd47cb02b108e}} 
\index{AAX\_IDma@{AAX\_IDma}!SetLinearBuffer@{SetLinearBuffer}}
\index{SetLinearBuffer@{SetLinearBuffer}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetLinearBuffer()}{SetLinearBuffer()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Linear\+Buffer (\begin{DoxyParamCaption}\item[{int8\+\_\+t $\ast$}]{i\+Linear\+Base }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the address of the linear buffer for the DMA transfer (usually the internal memory block) 

\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a281433c44d49923671bba494bbce1661}\label{a02229_a281433c44d49923671bba494bbce1661}} 
\index{AAX\_IDma@{AAX\_IDma}!GetLinearBuffer@{GetLinearBuffer}}
\index{GetLinearBuffer@{GetLinearBuffer}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetLinearBuffer()}{GetLinearBuffer()}}
{\footnotesize\ttfamily virtual int8\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Linear\+Buffer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the address of the linear buffer for the DMA transfer. 

\mbox{\Hypertarget{a02229_a9a106088088a8fc812b137bd90c0fa3a}\label{a02229_a9a106088088a8fc812b137bd90c0fa3a}} 
\index{AAX\_IDma@{AAX\_IDma}!SetOffsetTable@{SetOffsetTable}}
\index{SetOffsetTable@{SetOffsetTable}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetOffsetTable()}{SetOffsetTable()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Offset\+Table (\begin{DoxyParamCaption}\item[{const int32\+\_\+t $\ast$}]{i\+Offset\+Table }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the offset table for the DMA transfer. 

The offset table provides a list of Byte-\/aligned memory offsets into the FIFO buffer. The transfer will be broken into a series of individual bursts, each beginning at the specified offset locations within the FIFO buffer. The size of each burst is set by \mbox{\hyperlink{a02229_ac85fdea20b072cbdc258aa398d02fa92}{Set\+Burst\+Length()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a02229_a58f2933fda57ac6a1cdf20cce96aceac}{AAX\+\_\+\+IDma\+::\+Set\+Num\+Offsets()}} 

\mbox{\hyperlink{a02229_ac3a22df0462c7f4888a429b3eadae4dd}{AAX\+\_\+\+IDma\+::\+Set\+Base\+Offset()}}
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a9cec9e4b24e892dc76e9824d8d57b1b9}\label{a02229_a9cec9e4b24e892dc76e9824d8d57b1b9}} 
\index{AAX\_IDma@{AAX\_IDma}!GetOffsetTable@{GetOffsetTable}}
\index{GetOffsetTable@{GetOffsetTable}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetOffsetTable()}{GetOffsetTable()}}
{\footnotesize\ttfamily virtual const int32\+\_\+t $\ast$\mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Offset\+Table (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the offset table for the DMA transfer. 

\mbox{\Hypertarget{a02229_a58f2933fda57ac6a1cdf20cce96aceac}\label{a02229_a58f2933fda57ac6a1cdf20cce96aceac}} 
\index{AAX\_IDma@{AAX\_IDma}!SetNumOffsets@{SetNumOffsets}}
\index{SetNumOffsets@{SetNumOffsets}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetNumOffsets()}{SetNumOffsets()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Num\+Offsets (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Num\+Offsets }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the number of offets in the offset table. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a02229_a9a106088088a8fc812b137bd90c0fa3a}{AAX\+\_\+\+IDma\+::\+Set\+Offset\+Table()}}
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a582df429c4f543d66d63c87e2ea3a1e2}\label{a02229_a582df429c4f543d66d63c87e2ea3a1e2}} 
\index{AAX\_IDma@{AAX\_IDma}!GetNumOffsets@{GetNumOffsets}}
\index{GetNumOffsets@{GetNumOffsets}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetNumOffsets()}{GetNumOffsets()}}
{\footnotesize\ttfamily virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Num\+Offsets (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the number of offets in the offset table. 

\mbox{\Hypertarget{a02229_ac3a22df0462c7f4888a429b3eadae4dd}\label{a02229_ac3a22df0462c7f4888a429b3eadae4dd}} 
\index{AAX\_IDma@{AAX\_IDma}!SetBaseOffset@{SetBaseOffset}}
\index{SetBaseOffset@{SetBaseOffset}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetBaseOffset()}{SetBaseOffset()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Base\+Offset (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Base\+Offset\+Bytes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the relative base offset into the FIFO where transfers will begin. 

The base offset will be added to each value in the offset table in order to determine the starting offset within the FIFO buffer for each burst.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a02229_a9a106088088a8fc812b137bd90c0fa3a}{AAX\+\_\+\+IDma\+::\+Set\+Offset\+Table()}}
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_a1f6ce2d66bb6c26fa4e7e70821e8bd2d}\label{a02229_a1f6ce2d66bb6c26fa4e7e70821e8bd2d}} 
\index{AAX\_IDma@{AAX\_IDma}!GetBaseOffset@{GetBaseOffset}}
\index{GetBaseOffset@{GetBaseOffset}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetBaseOffset()}{GetBaseOffset()}}
{\footnotesize\ttfamily virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Base\+Offset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the relative base offset into the FIFO where transfers will begin. 

\mbox{\Hypertarget{a02229_a98f731e4c7c60a3b6b969fd699448224}\label{a02229_a98f731e4c7c60a3b6b969fd699448224}} 
\index{AAX\_IDma@{AAX\_IDma}!SetFifoSize@{SetFifoSize}}
\index{SetFifoSize@{SetFifoSize}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{SetFifoSize()}{SetFifoSize()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Set\+Fifo\+Size (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Size\+Bytes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Sets the size of the FIFO buffer, in bytes. 

\begin{DoxyNote}{Note}
The FIFO buffer must be padded with at least enough memory to accommodate one burst, as defined by \mbox{\hyperlink{a02229_ac85fdea20b072cbdc258aa398d02fa92}{Set\+Burst\+Length()}}.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
{\ttfamily AAX\+\_\+\+SUCCESS} on success 
\end{DoxyReturn}
\mbox{\Hypertarget{a02229_aae573c01b6ecc918978f74881e87a761}\label{a02229_aae573c01b6ecc918978f74881e87a761}} 
\index{AAX\_IDma@{AAX\_IDma}!GetFifoSize@{GetFifoSize}}
\index{GetFifoSize@{GetFifoSize}!AAX\_IDma@{AAX\_IDma}}
\doxysubsubsection{\texorpdfstring{GetFifoSize()}{GetFifoSize()}}
{\footnotesize\ttfamily virtual int32\+\_\+t \mbox{\hyperlink{a00647_acae60d01e5e4bd3282369d0d9d378f3f}{AAX\+\_\+\+DMA\+\_\+\+API}} AAX\+\_\+\+IDma\+::\+Get\+Fifo\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the size of the FIFO buffer, in bytes. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00647}{AAX\+\_\+\+IDma.\+h}}\end{DoxyCompactItemize}
