\hypertarget{struct__Ecore__Audio__Vio}{\section{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio Struct Reference}
\label{struct__Ecore__Audio__Vio}\index{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}}
}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
int($\ast$ \hyperlink{struct__Ecore__Audio__Vio_a4cd419866da99318dda46bd8f38342b6}{get\+\_\+length} )(void $\ast$data, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Get the length of the file. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{struct__Ecore__Audio__Vio_ade46f032e99260a803e9861a60ec6560}{seek} )(void $\ast$data, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo\+\_\+obj, int offset, int whence)
\begin{DoxyCompactList}\small\item\em Seek to a position within the file. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{struct__Ecore__Audio__Vio_a0a830dc9296110284de41be1d69a1586}{tell} )(void $\ast$data, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Get the current position within the file. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{struct__Ecore__Audio__Vio_a2a2c7ace55c72a0779718f379ad08995}{read} )(void $\ast$data, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo\+\_\+obj, void $\ast$buffer, int length)
\begin{DoxyCompactList}\small\item\em Read some data from the file. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{struct__Ecore__Audio__Vio_a661cbf694e752515a16797f6f993ef29}{write} )(void $\ast$data, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo\+\_\+obj, const void $\ast$buffer, int length)
\begin{DoxyCompactList}\small\item\em Write some data to the file. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Field Documentation}
\hypertarget{struct__Ecore__Audio__Vio_a4cd419866da99318dda46bd8f38342b6}{\index{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}!get\+\_\+length@{get\+\_\+length}}
\index{get\+\_\+length@{get\+\_\+length}!\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}}
\subsubsection[{get\+\_\+length}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ \+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio\+::get\+\_\+length)(void $\ast$data, {\bf Eo} $\ast$eo\+\_\+obj)}}\label{struct__Ecore__Audio__Vio_a4cd419866da99318dda46bd8f38342b6}


Get the length of the file. 


\begin{DoxyParams}{Parameters}
{\em data} & User data from the ecore\+\_\+audio\+\_\+obj\+\_\+set\+\_\+vio call \\
\hline
{\em eo\+\_\+obj} & The Ecore\+\_\+\+Audio object this operates on\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The length of the virtual file in bytes
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{struct__Ecore__Audio__Vio_ade46f032e99260a803e9861a60ec6560}{\index{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}!seek@{seek}}
\index{seek@{seek}!\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}}
\subsubsection[{seek}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ \+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio\+::seek)(void $\ast$data, {\bf Eo} $\ast$eo\+\_\+obj, int offset, int whence)}}\label{struct__Ecore__Audio__Vio_ade46f032e99260a803e9861a60ec6560}


Seek to a position within the file. 


\begin{DoxyParams}{Parameters}
{\em data} & User data from the ecore\+\_\+audio\+\_\+obj\+\_\+set\+\_\+vio call \\
\hline
{\em eo\+\_\+obj} & The Ecore\+\_\+\+Audio object this operates on \\
\hline
{\em offset} & The number of bytes to move (can be negative) \\
\hline
{\em whence} & Accepts the same values as fseek(), which are\+: S\+E\+E\+K\+\_\+\+S\+E\+T\+: offset is absolute S\+E\+E\+K\+\_\+\+C\+U\+R\+: offset is relative to the current position S\+E\+E\+K\+\_\+\+E\+N\+D\+: offset is relative to the end\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The resulting position from the start of the file (in bytes) or -\/1 if an error occured (i.\+e. out of bounds)
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{struct__Ecore__Audio__Vio_a0a830dc9296110284de41be1d69a1586}{\index{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}!tell@{tell}}
\index{tell@{tell}!\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}}
\subsubsection[{tell}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ \+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio\+::tell)(void $\ast$data, {\bf Eo} $\ast$eo\+\_\+obj)}}\label{struct__Ecore__Audio__Vio_a0a830dc9296110284de41be1d69a1586}


Get the current position within the file. 


\begin{DoxyParams}{Parameters}
{\em data} & User data from the ecore\+\_\+audio\+\_\+obj\+\_\+set\+\_\+vio call \\
\hline
{\em eo\+\_\+obj} & The Ecore\+\_\+\+Audio object this operates on\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The resulting position from the start of the file (in bytes)
\end{DoxyReturn}
This is equivalent to calling \hyperlink{struct__Ecore__Audio__Vio_ade46f032e99260a803e9861a60ec6560}{seek()} with offset 0 and whence S\+E\+E\+K\+\_\+\+C\+U\+R.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{struct__Ecore__Audio__Vio_a2a2c7ace55c72a0779718f379ad08995}{\index{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}!read@{read}}
\index{read@{read}!\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ \+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio\+::read)(void $\ast$data, {\bf Eo} $\ast$eo\+\_\+obj, void $\ast$buffer, int length)}}\label{struct__Ecore__Audio__Vio_a2a2c7ace55c72a0779718f379ad08995}


Read some data from the file. 


\begin{DoxyParams}[1]{Parameters}
 & {\em data} & User data from the ecore\+\_\+audio\+\_\+obj\+\_\+set\+\_\+vio call \\
\hline
 & {\em eo\+\_\+obj} & The Ecore\+\_\+\+Audio object this operates on \\
\hline
\mbox{\tt out}  & {\em buffer} & the buffer to write the data to \\
\hline
 & {\em length} & The number of bytes to read\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of bytes read from the file. May be less than length
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{struct__Ecore__Audio__Vio_a661cbf694e752515a16797f6f993ef29}{\index{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}!write@{write}}
\index{write@{write}!\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio@{\+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ \+\_\+\+Ecore\+\_\+\+Audio\+\_\+\+Vio\+::write)(void $\ast$data, {\bf Eo} $\ast$eo\+\_\+obj, const void $\ast$buffer, int length)}}\label{struct__Ecore__Audio__Vio_a661cbf694e752515a16797f6f993ef29}


Write some data to the file. 


\begin{DoxyParams}{Parameters}
{\em data} & User data from the ecore\+\_\+audio\+\_\+obj\+\_\+set\+\_\+vio call \\
\hline
{\em eo\+\_\+obj} & The Ecore\+\_\+\+Audio object this operates on \\
\hline
{\em buffer} & Write data from here to the file \\
\hline
{\em length} & The number of bytes to write\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of bytes written to the file. May be less than length
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
