\relax \@writefile{toc}{\contentsline {chapter}{\numberline {1}Preface}{6}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {1.1}About This Document}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}Typographic Conventions}{6}} \@writefile{toc}{\contentsline {chapter}{\numberline {2}Introduction}{7}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chap:intro}{{2}{7}} \@writefile{toc}{\contentsline {section}{\numberline {2.1}Terminology}{7}} \@writefile{toc}{\contentsline {chapter}{\numberline {3}The SANE Environment}{8}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chap:environ}{{3}{8}} \@writefile{toc}{\contentsline {section}{\numberline {3.1}Attaching to a SANE backend}{8}} \@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Example SANE Hiearchy}}{9}} \newlabel{fig:hierarchy}{{3.1}{9}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Image Data Format}{10}} \newlabel{sec:imageformat}{{3.2}{10}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Image Transmission}{10}} \@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Transfer order of image data bytes}}{11}} \newlabel{fig:xfer}{{3.2}{11}} \@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Bit and byte order or image data}}{11}} \newlabel{fig:pixels}{{3.3}{11}} \@writefile{toc}{\contentsline {chapter}{\numberline {4}The SANE Application Programmer Interface (API)}{13}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chap:api}{{4}{13}} \@writefile{toc}{\contentsline {section}{\numberline {4.1}Version Control}{13}} \newlabel{sec:saneversioncode}{{4.1}{14}} \@writefile{toc}{\contentsline {section}{\numberline {4.2}Data Types}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Base Types}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Boolean Type}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Integer Type}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Fixed-point Type}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.5}Text}{16}} \@writefile{toc}{\contentsline {subsubsection}{Character Type}{16}} \@writefile{toc}{\contentsline {subsubsection}{String Type}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.6}Scanner Handle Type}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.7}Status Type}{17}} \@writefile{lot}{\contentsline {table}{\numberline {4.1}{\ignorespaces Status Codes}}{17}} \newlabel{tab:status}{{4.1}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.8}Device Descriptor Type}{17}} \@writefile{lot}{\contentsline {table}{\numberline {4.2}{\ignorespaces Predefined Device Information Strings}}{18}} \newlabel{tab:devinfo}{{4.2}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.9}Option Descriptor Type}{18}} \newlabel{sec:odesc}{{4.2.9}{18}} \@writefile{toc}{\contentsline {subsubsection}{Option Name}{19}} \@writefile{toc}{\contentsline {subsubsection}{Option Title}{19}} \@writefile{toc}{\contentsline {subsubsection}{Option Description}{19}} \@writefile{toc}{\contentsline {subsubsection}{Option Value Type}{20}} \@writefile{lot}{\contentsline {table}{\numberline {4.3}{\ignorespaces Option Value Types ({\tt SANE\_Value\_Type})}}{20}} \newlabel{tab:valuetype}{{4.3}{20}} \@writefile{toc}{\contentsline {subsubsection}{Option Value Unit}{20}} \@writefile{lot}{\contentsline {table}{\numberline {4.4}{\ignorespaces Physical Units ({\tt SANE\_Unit})}}{20}} \newlabel{tab:units}{{4.4}{20}} \@writefile{toc}{\contentsline {subsubsection}{Option Value Size}{21}} \newlabel{sec:valuesize}{{4.2.9}{21}} \@writefile{toc}{\contentsline {subsubsection}{Option Capabilities}{21}} \@writefile{toc}{\contentsline {subsubsection}{Option Value Constraints}{21}} \@writefile{toc}{\contentsline {section}{\numberline {4.3}Operations}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}{\tt sane\_init}}{21}} \@writefile{lot}{\contentsline {table}{\numberline {4.5}{\ignorespaces Option Capabilities}}{22}} \newlabel{tab:capabilities}{{4.5}{22}} \@writefile{lot}{\contentsline {table}{\numberline {4.6}{\ignorespaces Option Value Constraints}}{23}} \newlabel{tab:constraints}{{4.6}{23}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}{\tt sane\_exit}}{24}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}{\tt sane\_get\_devices}}{25}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.4}{\tt sane\_open}}{25}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.5}{\tt sane\_close}}{25}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.6}{\tt sane\_get\_option\_descriptor}}{26}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.7}{\tt sane\_control\_option}}{26}} \newlabel{sec:control}{{4.3.7}{26}} \@writefile{lot}{\contentsline {table}{\numberline {4.7}{\ignorespaces Action Values ({\tt SANE\_Action})}}{26}} \newlabel{tab:actions}{{4.7}{26}} \@writefile{lot}{\contentsline {table}{\numberline {4.8}{\ignorespaces Additional Information Returned When Setting an Option}}{27}} \newlabel{tab:info}{{4.8}{27}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.8}{\tt sane\_get\_parameters}}{28}} \@writefile{lot}{\contentsline {table}{\numberline {4.9}{\ignorespaces Frame Format ({\tt SANE\_Frame})}}{28}} \newlabel{tab:frameformat}{{4.9}{28}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.9}{\tt sane\_start}}{29}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.10}{\tt sane\_read}}{30}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.11}{\tt sane\_cancel}}{30}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.12}{\tt sane\_set\_io\_mode}}{31}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.13}{\tt sane\_get\_select\_fd}}{31}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.3.14}{\tt sane\_strstatus}}{32}} \@writefile{toc}{\contentsline {section}{\numberline {4.4}Code Flow}{32}} \@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Code flow}}{32}} \newlabel{fig:flow}{{4.1}{32}} \@writefile{toc}{\contentsline {section}{\numberline {4.5}Well-Known Options}{33}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}Option Number Count}{34}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.2}Scan Resolution Option}{34}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.3}Preview Mode Option}{34}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.4}Scan Area Options}{34}} \@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Scan area options}}{35}} \newlabel{fig:area}{{4.2}{35}} \@writefile{toc}{\contentsline {chapter}{\numberline {5}Network Protocol}{36}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chap:net}{{5}{36}} \@writefile{toc}{\contentsline {section}{\numberline {5.1}Data Type Encoding}{37}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Primitive Data Types}{37}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Type Constructors}{37}} \@writefile{toc}{\contentsline {section}{\numberline {5.2}Remote Procedure Call Requests}{38}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}{\tt SANE\_NET\_INIT}}{38}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}{\tt SANE\_NET\_GET\_DEVICES}}{39}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}{\tt SANE\_NET\_OPEN}}{39}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.4}{\tt SANE\_NET\_CLOSE}}{40}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.5}{\tt SANE\_NET\_GET\_OPTION\_DESCRIPTORS}}{40}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.6}{\tt SANE\_NET\_CONTROL\_OPTION}}{40}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.7}{\tt SANE\_NET\_GET\_PARAMETERS}}{41}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.8}{\tt SANE\_NET\_START}}{41}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.9}{\tt SANE\_NET\_CANCEL}}{42}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.10}{\tt SANE\_NET\_AUTHORIZE}}{43}} \newlabel{sec:authorization}{{5.2.10}{43}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.11}{\tt SANE\_NET\_EXIT}}{43}} \@writefile{toc}{\contentsline {chapter}{\numberline {6}Contact Information}{44}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chap:contact}{{6}{44}}