\doxysection{oggz\+\_\+seek.\+h}
\label{oggz__seek_8h_source}\index{oggz\_seek.h@{oggz\_seek.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*}}
\DoxyCodeLine{00002\ \textcolor{comment}{\ \ \ Copyright\ (C)\ 2003\ Commonwealth\ Scientific\ and\ Industrial\ Research}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ \ \ Organisation\ (CSIRO)\ Australia}}
\DoxyCodeLine{00004\ \textcolor{comment}{}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ \ \ Redistribution\ and\ use\ in\ source\ and\ binary\ forms,\ with\ or\ without}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ \ \ modification,\ are\ permitted\ provided\ that\ the\ following\ conditions}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ \ \ are\ met:}}
\DoxyCodeLine{00008\ \textcolor{comment}{}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ \ \ -\/\ Redistributions\ of\ source\ code\ must\ retain\ the\ above\ copyright}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ \ \ notice,\ this\ list\ of\ conditions\ and\ the\ following\ disclaimer.}}
\DoxyCodeLine{00011\ \textcolor{comment}{}}
\DoxyCodeLine{00012\ \textcolor{comment}{\ \ \ -\/\ Redistributions\ in\ binary\ form\ must\ reproduce\ the\ above\ copyright}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ \ \ notice,\ this\ list\ of\ conditions\ and\ the\ following\ disclaimer\ in\ the}}
\DoxyCodeLine{00014\ \textcolor{comment}{\ \ \ documentation\ and/or\ other\ materials\ provided\ with\ the\ distribution.}}
\DoxyCodeLine{00015\ \textcolor{comment}{}}
\DoxyCodeLine{00016\ \textcolor{comment}{\ \ \ -\/\ Neither\ the\ name\ of\ CSIRO\ Australia\ nor\ the\ names\ of\ its}}
\DoxyCodeLine{00017\ \textcolor{comment}{\ \ \ contributors\ may\ be\ used\ to\ endorse\ or\ promote\ products\ derived\ from}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ \ \ this\ software\ without\ specific\ prior\ written\ permission.}}
\DoxyCodeLine{00019\ \textcolor{comment}{}}
\DoxyCodeLine{00020\ \textcolor{comment}{\ \ \ THIS\ SOFTWARE\ IS\ PROVIDED\ BY\ THE\ COPYRIGHT\ HOLDERS\ AND\ CONTRIBUTORS}}
\DoxyCodeLine{00021\ \textcolor{comment}{\ \ \ \`{}\`{}AS\ IS''\ AND\ ANY\ EXPRESS\ OR\ IMPLIED\ WARRANTIES,\ INCLUDING,\ BUT\ NOT}}
\DoxyCodeLine{00022\ \textcolor{comment}{\ \ \ LIMITED\ TO,\ THE\ IMPLIED\ WARRANTIES\ OF\ MERCHANTABILITY\ AND\ FITNESS\ FOR\ A}}
\DoxyCodeLine{00023\ \textcolor{comment}{\ \ \ PARTICULAR\ PURPOSE\ ARE\ DISCLAIMED.\ \ IN\ NO\ EVENT\ SHALL\ THE\ ORGANISATION\ OR}}
\DoxyCodeLine{00024\ \textcolor{comment}{\ \ \ CONTRIBUTORS\ BE\ LIABLE\ FOR\ ANY\ DIRECT,\ INDIRECT,\ INCIDENTAL,\ SPECIAL,}}
\DoxyCodeLine{00025\ \textcolor{comment}{\ \ \ EXEMPLARY,\ OR\ CONSEQUENTIAL\ DAMAGES\ (INCLUDING,\ BUT\ NOT\ LIMITED\ TO,}}
\DoxyCodeLine{00026\ \textcolor{comment}{\ \ \ PROCUREMENT\ OF\ SUBSTITUTE\ GOODS\ OR\ SERVICES;\ LOSS\ OF\ USE,\ DATA,\ OR}}
\DoxyCodeLine{00027\ \textcolor{comment}{\ \ \ PROFITS;\ OR\ BUSINESS\ INTERRUPTION)\ HOWEVER\ CAUSED\ AND\ ON\ ANY\ THEORY\ OF}}
\DoxyCodeLine{00028\ \textcolor{comment}{\ \ \ LIABILITY,\ WHETHER\ IN\ CONTRACT,\ STRICT\ LIABILITY,\ OR\ TORT\ (INCLUDING}}
\DoxyCodeLine{00029\ \textcolor{comment}{\ \ \ NEGLIGENCE\ OR\ OTHERWISE)\ ARISING\ IN\ ANY\ WAY\ OUT\ OF\ THE\ USE\ OF\ THIS}}
\DoxyCodeLine{00030\ \textcolor{comment}{\ \ \ SOFTWARE,\ EVEN\ IF\ ADVISED\ OF\ THE\ POSSIBILITY\ OF\ SUCH\ DAMAGE.}}
\DoxyCodeLine{00031\ \textcolor{comment}{*/}}
\DoxyCodeLine{00032\ }
\DoxyCodeLine{00033\ \textcolor{preprocessor}{\#ifndef\ OGGZ\_SEEK\_HEADER}}
\DoxyCodeLine{00034\ \textcolor{preprocessor}{\#define\ OGGZ\_SEEK\_HEADER}}
\DoxyCodeLine{00035\ }
\DoxyCodeLine{00039\ }
\DoxyCodeLine{00090\ }
\DoxyCodeLine{00099\ ogg\_int64\_t\ oggz\_tell\_units\ (OGGZ\ *\ oggz);}
\DoxyCodeLine{00100\ }
\DoxyCodeLine{00109\ ogg\_int64\_t\ oggz\_seek\_units\ (OGGZ\ *\ oggz,\ ogg\_int64\_t\ units,\ \textcolor{keywordtype}{int}\ whence);}
\DoxyCodeLine{00110\ }
\DoxyCodeLine{00119\ ogg\_int64\_t}
\DoxyCodeLine{00120\ oggz\_tell\_granulepos\ (OGGZ\ *\ oggz);}
\DoxyCodeLine{00121\ }
\DoxyCodeLine{00134\ oggz\_off\_t\ oggz\_tell\ (OGGZ\ *\ oggz);}
\DoxyCodeLine{00135\ }
\DoxyCodeLine{00143\ oggz\_off\_t\ oggz\_seek\ (OGGZ\ *\ oggz,\ oggz\_off\_t\ offset,\ \textcolor{keywordtype}{int}\ whence);}
\DoxyCodeLine{00144\ }
\DoxyCodeLine{00145\ \textcolor{preprocessor}{\#ifdef\ \_UNIMPLEMENTED}}
\DoxyCodeLine{00146\ \textcolor{keywordtype}{long}\ oggz\_seek\_packets\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno,\ \textcolor{keywordtype}{long}\ packets,\ \textcolor{keywordtype}{int}\ whence);}
\DoxyCodeLine{00147\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00148\ }
\DoxyCodeLine{00151\ }
\DoxyCodeLine{00191\ }
\DoxyCodeLine{00260\ }
\DoxyCodeLine{00270\ \textcolor{keywordtype}{int}\ oggz\_get\_preroll\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno);}
\DoxyCodeLine{00271\ }
\DoxyCodeLine{00283\ \textcolor{keywordtype}{int}\ oggz\_set\_preroll\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno,\ \textcolor{keywordtype}{int}\ preroll);}
\DoxyCodeLine{00284\ }
\DoxyCodeLine{00294\ \textcolor{keywordtype}{int}\ oggz\_get\_granuleshift\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno);}
\DoxyCodeLine{00295\ }
\DoxyCodeLine{00308\ \textcolor{keywordtype}{int}\ oggz\_set\_granuleshift\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno,\ \textcolor{keywordtype}{int}\ granuleshift);}
\DoxyCodeLine{00309\ }
\DoxyCodeLine{00322\ \textcolor{keywordtype}{int}\ oggz\_get\_granulerate\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno,}
\DoxyCodeLine{00323\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ogg\_int64\_t\ *\ granulerate\_n,}
\DoxyCodeLine{00324\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ogg\_int64\_t\ *\ granulerate\_d);}
\DoxyCodeLine{00325\ }
\DoxyCodeLine{00339\ \textcolor{keywordtype}{int}\ oggz\_set\_granulerate\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno,}
\DoxyCodeLine{00340\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ogg\_int64\_t\ granule\_rate\_numerator,}
\DoxyCodeLine{00341\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ogg\_int64\_t\ granule\_rate\_denominator);}
\DoxyCodeLine{00342\ }
\DoxyCodeLine{00360\ \textcolor{keyword}{typedef}\ ogg\_int64\_t\ (*OggzMetric)\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno,}
\DoxyCodeLine{00361\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ogg\_int64\_t\ granulepos,\ \textcolor{keywordtype}{void}\ *\ user\_data);}
\DoxyCodeLine{00362\ }
\DoxyCodeLine{00385\ \textcolor{keywordtype}{int}\ oggz\_set\_metric\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno,\ OggzMetric\ metric,}
\DoxyCodeLine{00386\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ *\ user\_data);}
\DoxyCodeLine{00387\ }
\DoxyCodeLine{00388\ \textcolor{preprocessor}{\#ifdef\ \_UNIMPLEMENTED}\textcolor{preprocessor}{}}
\DoxyCodeLine{00445\ \textcolor{keyword}{typedef}\ int\ (*OggzOrder)\ (OGGZ\ *\ oggz,\ ogg\_packet\ *\ op,\ \textcolor{keywordtype}{void}\ *\ target,}
\DoxyCodeLine{00446\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ *\ user\_data);}
\DoxyCodeLine{00454\ \textcolor{keywordtype}{int}\ oggz\_set\_order\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{long}\ serialno,\ OggzOrder\ order,}
\DoxyCodeLine{00455\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ *\ user\_data);}
\DoxyCodeLine{00456\ }
\DoxyCodeLine{00457\ \textcolor{keywordtype}{long}\ oggz\_seek\_byorder\ (OGGZ\ *\ oggz,\ \textcolor{keywordtype}{void}\ *\ target);}
\DoxyCodeLine{00458\ }
\DoxyCodeLine{00459\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ \_UNIMPLEMENTED\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00460\ }
\DoxyCodeLine{00474\ \textcolor{keywordtype}{int}\ oggz\_set\_data\_start\ (OGGZ\ *\ oggz,\ oggz\_off\_t\ offset);}
\DoxyCodeLine{00477\ }
\DoxyCodeLine{00491\ ogg\_int64\_t}
\DoxyCodeLine{00492\ oggz\_bounded\_seek\_set\ (OGGZ\ *\ oggz,}
\DoxyCodeLine{00493\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ogg\_int64\_t\ unit\_target,}
\DoxyCodeLine{00494\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ogg\_int64\_t\ offset\_begin,}
\DoxyCodeLine{00495\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ogg\_int64\_t\ offset\_end);}
\DoxyCodeLine{00496\ }
\DoxyCodeLine{00497\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ OGGZ\_SEEK\_HEADER\ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
