\contentsline {chapter}{\numberline {1}\leavevmode {\color {Chapter }Preface}}{7}{chapter.1} \contentsline {chapter}{\numberline {2}\leavevmode {\color {Chapter }Installation of the \textsf {IO}-package}}{8}{chapter.2} \contentsline {section}{\numberline {2.1}\leavevmode {\color {Chapter }Static linking}}{9}{section.2.1} \contentsline {section}{\numberline {2.2}\leavevmode {\color {Chapter }Recompiling the documentation}}{9}{section.2.2} \contentsline {chapter}{\numberline {3}\leavevmode {\color {Chapter }Functions directly available from the C library}}{10}{chapter.3} \contentsline {section}{\numberline {3.1}\leavevmode {\color {Chapter }Differences in arguments - an overview}}{10}{section.3.1} \contentsline {section}{\numberline {3.2}\leavevmode {\color {Chapter }The low-level functions in detail}}{11}{section.3.2} \contentsline {subsection}{\numberline {3.2.1}\leavevmode {\color {Chapter }IO{\textunderscore }accept}}{11}{subsection.3.2.1} \contentsline {subsection}{\numberline {3.2.2}\leavevmode {\color {Chapter }IO{\textunderscore }bind}}{11}{subsection.3.2.2} \contentsline {subsection}{\numberline {3.2.3}\leavevmode {\color {Chapter }IO{\textunderscore }chdir}}{12}{subsection.3.2.3} \contentsline {subsection}{\numberline {3.2.4}\leavevmode {\color {Chapter }IO{\textunderscore }chmod}}{12}{subsection.3.2.4} \contentsline {subsection}{\numberline {3.2.5}\leavevmode {\color {Chapter }IO{\textunderscore }chown}}{12}{subsection.3.2.5} \contentsline {subsection}{\numberline {3.2.6}\leavevmode {\color {Chapter }IO{\textunderscore }close}}{12}{subsection.3.2.6} \contentsline {subsection}{\numberline {3.2.7}\leavevmode {\color {Chapter }IO{\textunderscore }closedir}}{12}{subsection.3.2.7} \contentsline {subsection}{\numberline {3.2.8}\leavevmode {\color {Chapter }IO{\textunderscore }connect}}{12}{subsection.3.2.8} \contentsline {subsection}{\numberline {3.2.9}\leavevmode {\color {Chapter }IO{\textunderscore }creat}}{12}{subsection.3.2.9} \contentsline {subsection}{\numberline {3.2.10}\leavevmode {\color {Chapter }IO{\textunderscore }dup}}{13}{subsection.3.2.10} \contentsline {subsection}{\numberline {3.2.11}\leavevmode {\color {Chapter }IO{\textunderscore }dup2}}{13}{subsection.3.2.11} \contentsline {subsection}{\numberline {3.2.12}\leavevmode {\color {Chapter }IO{\textunderscore }execv}}{13}{subsection.3.2.12} \contentsline {subsection}{\numberline {3.2.13}\leavevmode {\color {Chapter }IO{\textunderscore }execve}}{13}{subsection.3.2.13} \contentsline {subsection}{\numberline {3.2.14}\leavevmode {\color {Chapter }IO{\textunderscore }execvp}}{13}{subsection.3.2.14} \contentsline {subsection}{\numberline {3.2.15}\leavevmode {\color {Chapter }IO{\textunderscore }exit}}{13}{subsection.3.2.15} \contentsline {subsection}{\numberline {3.2.16}\leavevmode {\color {Chapter }IO{\textunderscore }fchmod}}{13}{subsection.3.2.16} \contentsline {subsection}{\numberline {3.2.17}\leavevmode {\color {Chapter }IO{\textunderscore }fchown}}{14}{subsection.3.2.17} \contentsline {subsection}{\numberline {3.2.18}\leavevmode {\color {Chapter }IO{\textunderscore }fcntl}}{14}{subsection.3.2.18} \contentsline {subsection}{\numberline {3.2.19}\leavevmode {\color {Chapter }IO{\textunderscore }fork}}{14}{subsection.3.2.19} \contentsline {subsection}{\numberline {3.2.20}\leavevmode {\color {Chapter }IO{\textunderscore }fstat}}{14}{subsection.3.2.20} \contentsline {subsection}{\numberline {3.2.21}\leavevmode {\color {Chapter }IO{\textunderscore }gethostbyname}}{14}{subsection.3.2.21} \contentsline {subsection}{\numberline {3.2.22}\leavevmode {\color {Chapter }IO{\textunderscore }getpid}}{14}{subsection.3.2.22} \contentsline {subsection}{\numberline {3.2.23}\leavevmode {\color {Chapter }IO{\textunderscore }getppid}}{14}{subsection.3.2.23} \contentsline {subsection}{\numberline {3.2.24}\leavevmode {\color {Chapter }IO{\textunderscore }getsockopt}}{15}{subsection.3.2.24} \contentsline {subsection}{\numberline {3.2.25}\leavevmode {\color {Chapter }IO{\textunderscore }kill}}{15}{subsection.3.2.25} \contentsline {subsection}{\numberline {3.2.26}\leavevmode {\color {Chapter }IO{\textunderscore }lchown}}{15}{subsection.3.2.26} \contentsline {subsection}{\numberline {3.2.27}\leavevmode {\color {Chapter }IO{\textunderscore }link}}{15}{subsection.3.2.27} \contentsline {subsection}{\numberline {3.2.28}\leavevmode {\color {Chapter }IO{\textunderscore }listen}}{15}{subsection.3.2.28} \contentsline {subsection}{\numberline {3.2.29}\leavevmode {\color {Chapter }IO{\textunderscore }lseek}}{15}{subsection.3.2.29} \contentsline {subsection}{\numberline {3.2.30}\leavevmode {\color {Chapter }IO{\textunderscore }lstat}}{15}{subsection.3.2.30} \contentsline {subsection}{\numberline {3.2.31}\leavevmode {\color {Chapter }IO{\textunderscore }mkdir}}{16}{subsection.3.2.31} \contentsline {subsection}{\numberline {3.2.32}\leavevmode {\color {Chapter }IO{\textunderscore }mkfifo}}{16}{subsection.3.2.32} \contentsline {subsection}{\numberline {3.2.33}\leavevmode {\color {Chapter }IO{\textunderscore }mknod}}{16}{subsection.3.2.33} \contentsline {subsection}{\numberline {3.2.34}\leavevmode {\color {Chapter }IO{\textunderscore }open}}{16}{subsection.3.2.34} \contentsline {subsection}{\numberline {3.2.35}\leavevmode {\color {Chapter }IO{\textunderscore }opendir}}{16}{subsection.3.2.35} \contentsline {subsection}{\numberline {3.2.36}\leavevmode {\color {Chapter }IO{\textunderscore }pipe}}{16}{subsection.3.2.36} \contentsline {subsection}{\numberline {3.2.37}\leavevmode {\color {Chapter }IO{\textunderscore }read}}{16}{subsection.3.2.37} \contentsline {subsection}{\numberline {3.2.38}\leavevmode {\color {Chapter }IO{\textunderscore }readdir}}{17}{subsection.3.2.38} \contentsline {subsection}{\numberline {3.2.39}\leavevmode {\color {Chapter }IO{\textunderscore }readlink}}{17}{subsection.3.2.39} \contentsline {subsection}{\numberline {3.2.40}\leavevmode {\color {Chapter }IO{\textunderscore }recv}}{17}{subsection.3.2.40} \contentsline {subsection}{\numberline {3.2.41}\leavevmode {\color {Chapter }IO{\textunderscore }recvfrom}}{17}{subsection.3.2.41} \contentsline {subsection}{\numberline {3.2.42}\leavevmode {\color {Chapter }IO{\textunderscore }rename}}{17}{subsection.3.2.42} \contentsline {subsection}{\numberline {3.2.43}\leavevmode {\color {Chapter }IO{\textunderscore }rewinddir}}{17}{subsection.3.2.43} \contentsline {subsection}{\numberline {3.2.44}\leavevmode {\color {Chapter }IO{\textunderscore }rmdir}}{18}{subsection.3.2.44} \contentsline {subsection}{\numberline {3.2.45}\leavevmode {\color {Chapter }IO{\textunderscore }seekdir}}{18}{subsection.3.2.45} \contentsline {subsection}{\numberline {3.2.46}\leavevmode {\color {Chapter }IO{\textunderscore }select}}{18}{subsection.3.2.46} \contentsline {subsection}{\numberline {3.2.47}\leavevmode {\color {Chapter }IO{\textunderscore }send}}{18}{subsection.3.2.47} \contentsline {subsection}{\numberline {3.2.48}\leavevmode {\color {Chapter }IO{\textunderscore }sendto}}{18}{subsection.3.2.48} \contentsline {subsection}{\numberline {3.2.49}\leavevmode {\color {Chapter }IO{\textunderscore }setsockopt}}{18}{subsection.3.2.49} \contentsline {subsection}{\numberline {3.2.50}\leavevmode {\color {Chapter }IO{\textunderscore }socket}}{19}{subsection.3.2.50} \contentsline {subsection}{\numberline {3.2.51}\leavevmode {\color {Chapter }IO{\textunderscore }stat}}{19}{subsection.3.2.51} \contentsline {subsection}{\numberline {3.2.52}\leavevmode {\color {Chapter }IO{\textunderscore }symlink}}{19}{subsection.3.2.52} \contentsline {subsection}{\numberline {3.2.53}\leavevmode {\color {Chapter }IO{\textunderscore }telldir}}{19}{subsection.3.2.53} \contentsline {subsection}{\numberline {3.2.54}\leavevmode {\color {Chapter }IO{\textunderscore }unlink}}{19}{subsection.3.2.54} \contentsline {subsection}{\numberline {3.2.55}\leavevmode {\color {Chapter }IO{\textunderscore }WaitPid}}{19}{subsection.3.2.55} \contentsline {subsection}{\numberline {3.2.56}\leavevmode {\color {Chapter }IO{\textunderscore }write}}{19}{subsection.3.2.56} \contentsline {section}{\numberline {3.3}\leavevmode {\color {Chapter }Further C level functions}}{20}{section.3.3} \contentsline {subsection}{\numberline {3.3.1}\leavevmode {\color {Chapter }IO{\textunderscore }make{\textunderscore }sockaddr{\textunderscore }in}}{20}{subsection.3.3.1} \contentsline {subsection}{\numberline {3.3.2}\leavevmode {\color {Chapter }IO{\textunderscore }environ}}{20}{subsection.3.3.2} \contentsline {subsection}{\numberline {3.3.3}\leavevmode {\color {Chapter }IO{\textunderscore }InstallSIGCHLDHandler}}{20}{subsection.3.3.3} \contentsline {subsection}{\numberline {3.3.4}\leavevmode {\color {Chapter }IO{\textunderscore }RestoreSIGCHLDHandler}}{20}{subsection.3.3.4} \contentsline {chapter}{\numberline {4}\leavevmode {\color {Chapter }High level functions for buffered I/O}}{21}{chapter.4} \contentsline {section}{\numberline {4.1}\leavevmode {\color {Chapter }Types and the creation of \texttt {File} objects}}{21}{section.4.1} \contentsline {subsection}{\numberline {4.1.1}\leavevmode {\color {Chapter }IsFile}}{21}{subsection.4.1.1} \contentsline {subsection}{\numberline {4.1.2}\leavevmode {\color {Chapter }IO{\textunderscore }WrapFD}}{21}{subsection.4.1.2} \contentsline {subsection}{\numberline {4.1.3}\leavevmode {\color {Chapter }IO{\textunderscore }File (mode)}}{22}{subsection.4.1.3} \contentsline {section}{\numberline {4.2}\leavevmode {\color {Chapter }Reading and writing}}{22}{section.4.2} \contentsline {subsection}{\numberline {4.2.1}\leavevmode {\color {Chapter }IO{\textunderscore }ReadUntilEOF}}{22}{subsection.4.2.1} \contentsline {subsection}{\numberline {4.2.2}\leavevmode {\color {Chapter }IO{\textunderscore }ReadBlock}}{22}{subsection.4.2.2} \contentsline {subsection}{\numberline {4.2.3}\leavevmode {\color {Chapter }IO{\textunderscore }ReadLine}}{23}{subsection.4.2.3} \contentsline {subsection}{\numberline {4.2.4}\leavevmode {\color {Chapter }IO{\textunderscore }ReadLines}}{23}{subsection.4.2.4} \contentsline {subsection}{\numberline {4.2.5}\leavevmode {\color {Chapter }IO{\textunderscore }HasData}}{23}{subsection.4.2.5} \contentsline {subsection}{\numberline {4.2.6}\leavevmode {\color {Chapter }IO{\textunderscore }Read}}{23}{subsection.4.2.6} \contentsline {subsection}{\numberline {4.2.7}\leavevmode {\color {Chapter }IO{\textunderscore }Write}}{24}{subsection.4.2.7} \contentsline {subsection}{\numberline {4.2.8}\leavevmode {\color {Chapter }IO{\textunderscore }WriteLine}}{24}{subsection.4.2.8} \contentsline {subsection}{\numberline {4.2.9}\leavevmode {\color {Chapter }IO{\textunderscore }WriteLines}}{24}{subsection.4.2.9} \contentsline {subsection}{\numberline {4.2.10}\leavevmode {\color {Chapter }IO{\textunderscore }Flush}}{24}{subsection.4.2.10} \contentsline {subsection}{\numberline {4.2.11}\leavevmode {\color {Chapter }IO{\textunderscore }WriteFlush}}{25}{subsection.4.2.11} \contentsline {subsection}{\numberline {4.2.12}\leavevmode {\color {Chapter }IO{\textunderscore }ReadyForWrite}}{25}{subsection.4.2.12} \contentsline {subsection}{\numberline {4.2.13}\leavevmode {\color {Chapter }IO{\textunderscore }WriteNonBlocking}}{25}{subsection.4.2.13} \contentsline {subsection}{\numberline {4.2.14}\leavevmode {\color {Chapter }IO{\textunderscore }ReadyForFlush}}{25}{subsection.4.2.14} \contentsline {subsection}{\numberline {4.2.15}\leavevmode {\color {Chapter }IO{\textunderscore }FlushNonBlocking}}{26}{subsection.4.2.15} \contentsline {subsection}{\numberline {4.2.16}\leavevmode {\color {Chapter }IO{\textunderscore }Close}}{26}{subsection.4.2.16} \contentsline {section}{\numberline {4.3}\leavevmode {\color {Chapter }Other functions}}{26}{section.4.3} \contentsline {subsection}{\numberline {4.3.1}\leavevmode {\color {Chapter }IO{\textunderscore }GetFD}}{26}{subsection.4.3.1} \contentsline {subsection}{\numberline {4.3.2}\leavevmode {\color {Chapter }IO{\textunderscore }GetWBuf}}{26}{subsection.4.3.2} \contentsline {subsection}{\numberline {4.3.3}\leavevmode {\color {Chapter }IO{\textunderscore }Select}}{26}{subsection.4.3.3} \contentsline {subsection}{\numberline {4.3.4}\leavevmode {\color {Chapter }IO{\textunderscore }ListDir}}{27}{subsection.4.3.4} \contentsline {subsection}{\numberline {4.3.5}\leavevmode {\color {Chapter }IO{\textunderscore }MakeIPAddressPort}}{27}{subsection.4.3.5} \contentsline {subsection}{\numberline {4.3.6}\leavevmode {\color {Chapter }IO{\textunderscore }Environment}}{27}{subsection.4.3.6} \contentsline {subsection}{\numberline {4.3.7}\leavevmode {\color {Chapter }IO{\textunderscore }MakeEnvList}}{27}{subsection.4.3.7} \contentsline {section}{\numberline {4.4}\leavevmode {\color {Chapter }Inter process communication}}{28}{section.4.4} \contentsline {subsection}{\numberline {4.4.1}\leavevmode {\color {Chapter }IO{\textunderscore }FindExecutable}}{28}{subsection.4.4.1} \contentsline {subsection}{\numberline {4.4.2}\leavevmode {\color {Chapter }IO{\textunderscore }CloseAllFDs}}{28}{subsection.4.4.2} \contentsline {subsection}{\numberline {4.4.3}\leavevmode {\color {Chapter }IO{\textunderscore }Popen}}{28}{subsection.4.4.3} \contentsline {subsection}{\numberline {4.4.4}\leavevmode {\color {Chapter }IO{\textunderscore }Popen2}}{28}{subsection.4.4.4} \contentsline {subsection}{\numberline {4.4.5}\leavevmode {\color {Chapter }IO{\textunderscore }Popen3}}{29}{subsection.4.4.5} \contentsline {subsection}{\numberline {4.4.6}\leavevmode {\color {Chapter }IO{\textunderscore }StartPipeline}}{29}{subsection.4.4.6} \contentsline {subsection}{\numberline {4.4.7}\leavevmode {\color {Chapter }IO{\textunderscore }StringFilterFile}}{30}{subsection.4.4.7} \contentsline {subsection}{\numberline {4.4.8}\leavevmode {\color {Chapter }IO{\textunderscore }StringFilterFile (append)}}{30}{subsection.4.4.8} \contentsline {subsection}{\numberline {4.4.9}\leavevmode {\color {Chapter }IO{\textunderscore }FilteredFile}}{30}{subsection.4.4.9} \contentsline {subsection}{\numberline {4.4.10}\leavevmode {\color {Chapter }IO{\textunderscore }SendStringBackground}}{30}{subsection.4.4.10} \contentsline {subsection}{\numberline {4.4.11}\leavevmode {\color {Chapter }IO{\textunderscore }PipeThrough}}{31}{subsection.4.4.11} \contentsline {subsection}{\numberline {4.4.12}\leavevmode {\color {Chapter }IO{\textunderscore }PipeThroughWithError}}{31}{subsection.4.4.12} \contentsline {chapter}{\numberline {5}\leavevmode {\color {Chapter }Object serialisation (Pickling)}}{33}{chapter.5} \contentsline {section}{\numberline {5.1}\leavevmode {\color {Chapter }Result objects}}{33}{section.5.1} \contentsline {subsection}{\numberline {5.1.1}\leavevmode {\color {Chapter }IO{\textunderscore }Error}}{33}{subsection.5.1.1} \contentsline {subsection}{\numberline {5.1.2}\leavevmode {\color {Chapter }IO{\textunderscore }Nothing}}{33}{subsection.5.1.2} \contentsline {subsection}{\numberline {5.1.3}\leavevmode {\color {Chapter }IO{\textunderscore }OK}}{33}{subsection.5.1.3} \contentsline {section}{\numberline {5.2}\leavevmode {\color {Chapter }Pickling and unpickling}}{34}{section.5.2} \contentsline {subsection}{\numberline {5.2.1}\leavevmode {\color {Chapter }IO{\textunderscore }Pickle}}{34}{subsection.5.2.1} \contentsline {subsection}{\numberline {5.2.2}\leavevmode {\color {Chapter }IO{\textunderscore }Unpickle}}{34}{subsection.5.2.2} \contentsline {subsection}{\numberline {5.2.3}\leavevmode {\color {Chapter }IO{\textunderscore }ClearPickleCache}}{34}{subsection.5.2.3} \contentsline {section}{\numberline {5.3}\leavevmode {\color {Chapter }Extending the pickling framework}}{34}{section.5.3} \contentsline {chapter}{\numberline {6}\leavevmode {\color {Chapter }Really random sources}}{36}{chapter.6} \contentsline {section}{\numberline {6.1}\leavevmode {\color {Chapter }The functions}}{36}{section.6.1} \contentsline {subsection}{\numberline {6.1.1}\leavevmode {\color {Chapter }RandomSource}}{36}{subsection.6.1.1} \contentsline {chapter}{\numberline {7}\leavevmode {\color {Chapter }A client side implementation of the HTTP protocol}}{37}{chapter.7} \contentsline {section}{\numberline {7.1}\leavevmode {\color {Chapter }Functions for client side HTTP}}{37}{section.7.1} \contentsline {subsection}{\numberline {7.1.1}\leavevmode {\color {Chapter }OpenHTTPConnection}}{37}{subsection.7.1.1} \contentsline {subsection}{\numberline {7.1.2}\leavevmode {\color {Chapter }HTTPRequest}}{37}{subsection.7.1.2} \contentsline {subsection}{\numberline {7.1.3}\leavevmode {\color {Chapter }HTTPTimeoutForSelect}}{38}{subsection.7.1.3} \contentsline {subsection}{\numberline {7.1.4}\leavevmode {\color {Chapter }CloseHTTPConnection}}{38}{subsection.7.1.4} \contentsline {subsection}{\numberline {7.1.5}\leavevmode {\color {Chapter }SingleHTTPRequest}}{39}{subsection.7.1.5} \contentsline {subsection}{\numberline {7.1.6}\leavevmode {\color {Chapter }CheckForUpdates}}{39}{subsection.7.1.6} \contentsline {chapter}{\numberline {8}\leavevmode {\color {Chapter }Examples of usage}}{40}{chapter.8} \contentsline {section}{\numberline {8.1}\leavevmode {\color {Chapter }Writing and reading a file}}{40}{section.8.1} \contentsline {section}{\numberline {8.2}\leavevmode {\color {Chapter }Using filtering programs to read and write files}}{41}{section.8.2} \contentsline {section}{\numberline {8.3}\leavevmode {\color {Chapter }Using filters when reading or writing files sequentially}}{41}{section.8.3} \contentsline {section}{\numberline {8.4}\leavevmode {\color {Chapter }Accessing a web page}}{42}{section.8.4} \contentsline {section}{\numberline {8.5}\leavevmode {\color {Chapter }(Un-)Pickling}}{42}{section.8.5} \contentsline {chapter}{\numberline {9}\leavevmode {\color {Chapter }License}}{44}{chapter.9}