\section{file.h File Reference} \label{file_8h}\index{file.h@{file.h}} Files and dynamic loader services. {\tt \#include $<$cc++/config.h$>$}\par {\tt \#include $<$cc++/missing.h$>$}\par {\tt \#include $<$cc++/thread.h$>$}\par {\tt \#include $<$cc++/exception.h$>$}\par {\tt \#include $<$cstdio$>$}\par {\tt \#include $<$dirent.h$>$}\par {\tt \#include $<$sys/stat.h$>$}\par {\tt \#include $<$sys/mman.h$>$}\par \subsection*{Namespaces} \begin{CompactItemize} \item namespace {\bf ost} \end{CompactItemize} \subsection*{Classes} \begin{CompactItemize} \item class {\bf ost::File} \item struct {\bf ost::File::\_\-fcb} \item class {\bf ost::Dir} \begin{CompactList}\small\item\em A low level portable directory class.low level directory access class. \item\end{CompactList}\item class {\bf ost::Dir\-Tree} \begin{CompactList}\small\item\em A generic class to walk a hierarchical directory structure.Directory tree walking. \item\end{CompactList}\item class {\bf ost::Random\-File} \begin{CompactList}\small\item\em The purpose of this class is to define a base class for low level random file access that is portable between Win32 and Posix systems.Portable random disk file access. \item\end{CompactList}\item class {\bf ost::Thread\-File} \begin{CompactList}\small\item\em This class defines a database I/O file service that can be shared by multiple threads.This class defines a database I/O file service that can be shared by multiple threads. \item\end{CompactList}\item class {\bf ost::Shared\-File} \begin{CompactList}\small\item\em This class defines a database I/O file service that can be shared by multiple processes.This class defines a database I/O file service that can be shared by multiple processes. \item\end{CompactList}\item class {\bf ost::Mapped\-File} \begin{CompactList}\small\item\em Create and map a disk file into memory.Map a named disk file into memory. \item\end{CompactList}\item class {\bf ost::DSO} \begin{CompactList}\small\item\em The {\bf DSO}{\rm (p.\,\pageref{classost_1_1_d_s_o})} dynamic loader class is used to load object files.Dynamic class file loader. \item\end{CompactList}\end{CompactItemize} \subsection*{Defines} \begin{CompactItemize} \item \#define {\bf caddr\_\-t}~char $\ast$ \item \#define {\bf PATH\_\-MAX}~256 \item \#define {\bf NAME\_\-MAX}~64 \item \#define {\bf S\_\-IRUSR}~0400 \item \#define {\bf S\_\-IWUSR}~0200 \item \#define {\bf S\_\-IRGRP}~0040 \item \#define {\bf S\_\-IWGRP}~0020 \item \#define {\bf S\_\-IROTH}~0004 \item \#define {\bf S\_\-IWOTH}~0002 \end{CompactItemize} \subsection*{Typedefs} \begin{CompactItemize} \item typedef unsigned long {\bf ost::pos\_\-t} \item typedef size\_\-t {\bf ost::ccxx\_\-size\_\-t} \end{CompactItemize} \subsection{Detailed Description} Files and dynamic loader services. \subsection{Define Documentation} \index{file.h@{file.h}!caddr_t@{caddr\_\-t}} \index{caddr_t@{caddr\_\-t}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define caddr\_\-t~char $\ast$}\label{file_8h_0c3c2cf6b572d3e4659668a6d2ddc265} \index{file.h@{file.h}!NAME_MAX@{NAME\_\-MAX}} \index{NAME_MAX@{NAME\_\-MAX}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define NAME\_\-MAX~64}\label{file_8h_c64541bdd81c961304b9babef1402640} \index{file.h@{file.h}!PATH_MAX@{PATH\_\-MAX}} \index{PATH_MAX@{PATH\_\-MAX}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define PATH\_\-MAX~256}\label{file_8h_e688d728e1acdfe5988c7db45d6f0166} \index{file.h@{file.h}!S_IRGRP@{S\_\-IRGRP}} \index{S_IRGRP@{S\_\-IRGRP}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define S\_\-IRGRP~0040}\label{file_8h_4f5f280b929768113739fb34d6f7be8a} \index{file.h@{file.h}!S_IROTH@{S\_\-IROTH}} \index{S_IROTH@{S\_\-IROTH}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define S\_\-IROTH~0004}\label{file_8h_071147a0cb995036967c80f64b1f74b9} \index{file.h@{file.h}!S_IRUSR@{S\_\-IRUSR}} \index{S_IRUSR@{S\_\-IRUSR}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define S\_\-IRUSR~0400}\label{file_8h_84c7dbf5cf2fdfb690f76348b60a8cb7} \index{file.h@{file.h}!S_IWGRP@{S\_\-IWGRP}} \index{S_IWGRP@{S\_\-IWGRP}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define S\_\-IWGRP~0020}\label{file_8h_e6774871a90d9442f00abe18b87fee6e} \index{file.h@{file.h}!S_IWOTH@{S\_\-IWOTH}} \index{S_IWOTH@{S\_\-IWOTH}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define S\_\-IWOTH~0002}\label{file_8h_5303f49f26293acdb9533756c78322fb} \index{file.h@{file.h}!S_IWUSR@{S\_\-IWUSR}} \index{S_IWUSR@{S\_\-IWUSR}!file.h@{file.h}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define S\_\-IWUSR~0200}\label{file_8h_d70001754261c15a1bdc8e876c6d09d7}