\hypertarget{group__obuf}{
\section{obuf: Output Buffer Management}
\label{group__obuf}\index{obuf: Output Buffer Management@{obuf: Output Buffer Management}}
}
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{structobuf}{obuf}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{group__obuf_gf0b8d24d432d19c4c3fe9f8f1aa5a976}{OBUF\_\-CREATE}~O\_\-CREAT
\item 
\#define \hyperlink{group__obuf_g2f097eb9e0814eddffeba24e86a513df}{OBUF\_\-EXCLUSIVE}~O\_\-EXCL
\item 
\#define \hyperlink{group__obuf_gf21027144be2cdf09f8fb62184d036e0}{OBUF\_\-TRUNCATE}~O\_\-TRUNC
\item 
\#define \hyperlink{group__obuf_gbbdf0f428faeb7f324fbeb02dfc86922}{OBUF\_\-APPEND}~O\_\-APPEND
\item 
\#define \hyperlink{group__obuf_g62b6e576bfc1cd1f9184a144467eb125}{obuf\_\-error}(out)~iobuf\_\-error(\&(out) $\rightarrow$ io)
\item 
\#define \hyperlink{group__obuf_gdb3db33d9e3b8b4993afc9152f78cbbe}{obuf\_\-closed}(out)~iobuf\_\-closed(\&(out) $\rightarrow$ io)
\item 
\#define \hyperlink{group__obuf_ge82c646b1252e975b43a59fa5dbfc594}{obuf\_\-timedout}(out)~iobuf\_\-timedout(\&((out) $\rightarrow$ io))
\item 
\#define \hyperlink{group__obuf_gcfc4d6943e15538903c3667dea9a9f09}{obuf\_\-rewind}(out)~obuf\_\-seek(out,0)
\item 
\#define \hyperlink{group__obuf_g078f3950712509205177452270e73b20}{obuf\_\-tell}(out)~((out) $\rightarrow$ io.offset+(out) $\rightarrow$ bufpos)
\item 
\#define \hyperlink{group__obuf_g06c401948c88cae85fe586a9fd3580c8}{obuf\_\-puts}(out, \hyperlink{structstr}{str})~obuf\_\-write(out,\hyperlink{structstr}{str},strlen(\hyperlink{structstr}{str}))
\item 
\#define \hyperlink{group__obuf_g70a608bd004fc6f255852cafe415f716}{obuf\_\-putstr}(out, \hyperlink{structstr}{str})~obuf\_\-write(out,(\hyperlink{structstr}{str}) $\rightarrow$ s,(\hyperlink{structstr}{str}) $\rightarrow$ len)
\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef int($\ast$ \hyperlink{group__obuf_ga39dfad0e8745cdcb31ffe6353758c48}{obuf\_\-fn} )(int, const void $\ast$, unsigned long)
\item 
typedef struct \hyperlink{structobuf}{obuf} \hyperlink{group__obuf_g5d21ad371d3d1522bbec6915145ef02d}{obuf}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
int \hyperlink{group__obuf_gb9eeed3514560048a940ee7b24dd1347}{obuf\_\-init} (\hyperlink{structobuf}{obuf} $\ast$out, int fd, \hyperlink{group__obuf_ga39dfad0e8745cdcb31ffe6353758c48}{obuf\_\-fn} fn, unsigned flags, unsigned bufsize)
\item 
int \hyperlink{group__obuf_g3dea7751e7b1097224be09ff1e71888f}{obuf\_\-open} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$filename, int oflags, int mode, unsigned bufsize)
\item 
int \hyperlink{group__obuf_g610bff3f5c0764568ca4a4741340cfcc}{obuf\_\-close} (\hyperlink{structobuf}{obuf} $\ast$out)
\item 
int \hyperlink{group__obuf_g6ddac728408520e6d56da0505c6e03ad}{obuf\_\-flush} (\hyperlink{structobuf}{obuf} $\ast$out)
\item 
int \hyperlink{group__obuf_g926e867fc325f0b221ce507d6a6285e4}{obuf\_\-sync} (\hyperlink{structobuf}{obuf} $\ast$out)
\item 
int \hyperlink{group__obuf_g165f549a8931c793af8aef1db88a64d4}{obuf\_\-write\_\-large} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$data, unsigned datalen)
\item 
int \hyperlink{group__obuf_g03421ac22a31290e1e94462257b13781}{obuf\_\-write} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$data, unsigned datalen)
\item 
int \hyperlink{group__obuf_g2f5fa6c89c5d58023125710fa42285f4}{obuf\_\-seek} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned offset)
\item 
int \hyperlink{group__obuf_g608698be2e8e24767cf1b27716653660}{obuf\_\-pad} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned width, char ch)
\item 
int \hyperlink{group__obuf_g3076cb0bd4009f248207baba2e420197}{obuf\_\-endl} (\hyperlink{structobuf}{obuf} $\ast$out)
\item 
int \hyperlink{group__obuf_g875c0262a092dcb73bcbd0a3fa557d26}{obuf\_\-putc} (\hyperlink{structobuf}{obuf} $\ast$out, char ch)
\item 
int \hyperlink{group__obuf_g9ec0f20a3f1928e44691f57425703b57}{obuf\_\-put2s} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$s1, const char $\ast$s2)
\item 
int \hyperlink{group__obuf_gb34e2094f765c45757394f1a0c13de9b}{obuf\_\-put3s} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$s1, const char $\ast$s2, const char $\ast$s3)
\item 
int \hyperlink{group__obuf_ge39b3c2511685f4fe16e62fd9d509136}{obuf\_\-put4s} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$s1, const char $\ast$s2, const char $\ast$s3, const char $\ast$s4)
\item 
int \hyperlink{group__obuf_g7cb66052946afe11c239ef23ea767c5a}{obuf\_\-put5s} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$s1, const char $\ast$s2, const char $\ast$s3, const char $\ast$s4, const char $\ast$s5)
\item 
int \hyperlink{group__obuf_g864c5f97b57eee47292f643648f21d65}{obuf\_\-put6s} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$s1, const char $\ast$s2, const char $\ast$s3, const char $\ast$s4, const char $\ast$s5, const char $\ast$s6)
\item 
int \hyperlink{group__obuf_ga71c9bbbbacfe3b4a13ec56804ac6d13}{obuf\_\-put7s} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$s1, const char $\ast$s2, const char $\ast$s3, const char $\ast$s4, const char $\ast$s5, const char $\ast$s6, const char $\ast$s7)
\item 
int \hyperlink{group__obuf_g04c43549b6398ac77ef9f2364ddb26f2}{obuf\_\-putns} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned int count,...)
\item 
int \hyperlink{group__obuf_gf9c5d5661c1da0dffbc3c2c8c951f3ca}{obuf\_\-putf} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$format,...)
\item 
int \hyperlink{group__obuf_gb0e0f78155d17a50e83d61d2f686d945}{obuf\_\-putfv} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$format, va\_\-list ap)
\item 
int \hyperlink{group__obuf_geb191f028a654a047f02148a9af9811d}{obuf\_\-putsflush} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$s)
\item 
int \hyperlink{group__obuf_gd0ee3632bc0d26a9819377aba16d406f}{obuf\_\-puti} (\hyperlink{structobuf}{obuf} $\ast$out, long data)
\item 
int \hyperlink{group__obuf_g2cf372af70bc6147a2db479d8a85df5d}{obuf\_\-putiw} (\hyperlink{structobuf}{obuf} $\ast$out, long data, unsigned width, char pad)
\item 
int \hyperlink{group__obuf_g75231da78e1b0dcc2a9307f487c0a47d}{obuf\_\-putu} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long data)
\item 
int \hyperlink{group__obuf_gb733b82803b4ddf12e7ff1140cd4eaf4}{obuf\_\-putuw} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long data, unsigned width, char pad)
\item 
int \hyperlink{group__obuf_g54410e8023b4cf933657c1aad5842413}{obuf\_\-putill} (\hyperlink{structobuf}{obuf} $\ast$out, long long data)
\item 
int \hyperlink{group__obuf_g9735a1718e14888c15a68391fcfa8a32}{obuf\_\-putiwll} (\hyperlink{structobuf}{obuf} $\ast$out, long long data, unsigned width, char pad)
\item 
int \hyperlink{group__obuf_geb1a75d1bc3f7ae6bfaa91773bac1b0a}{obuf\_\-putull} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long long data)
\item 
int \hyperlink{group__obuf_gbd73e29249fddf85754a3248ad9b8909}{obuf\_\-putuwll} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long long data, unsigned width, char pad)
\item 
int \hyperlink{group__obuf_g73b0e1bad7d14bce50996b0a79e3e60f}{obuf\_\-putx} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long data)
\item 
int \hyperlink{group__obuf_g63bc25bd5decb5affccd967701181e02}{obuf\_\-putxw} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long data, unsigned width, char pad)
\item 
int \hyperlink{group__obuf_gf571b1aee85e5536ead2f139fe723a89}{obuf\_\-putX} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long data)
\item 
int \hyperlink{group__obuf_g4349ac8d9999d042abd3e885a96b42e0}{obuf\_\-putXw} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long data, unsigned width, char pad)
\item 
int \hyperlink{group__obuf_ge0ed6f7cf0658c006863ace5c2716a79}{obuf\_\-putxll} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long long data)
\item 
int \hyperlink{group__obuf_g34cdd4dc150b9ebeebbe6b4e63b16f1a}{obuf\_\-putxwll} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long long data, unsigned width, char pad)
\item 
int \hyperlink{group__obuf_g2991868a52edf6fffa2ea17f5f8fee93}{obuf\_\-putXll} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long long data)
\item 
int \hyperlink{group__obuf_g89141b7b75a203e1f2ba61a8396be456}{obuf\_\-putXwll} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long long data, unsigned width, char pad)
\item 
int \hyperlink{group__obuf_gc91df37cd8f3fbb0384e296440d1ce42}{obuf\_\-putsnumw} (\hyperlink{structobuf}{obuf} $\ast$out, long num, unsigned width, char pad, unsigned base, const char $\ast$digits)
\item 
int \hyperlink{group__obuf_gd5b1e82de1a914549ce29defdbd11af9}{obuf\_\-putunumw} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long num, unsigned width, char pad, unsigned base, const char $\ast$digits)
\item 
int \hyperlink{group__obuf_g4e8023a4f1fdc030650fcbbac89d73ea}{obuf\_\-putsllnumw} (\hyperlink{structobuf}{obuf} $\ast$out, long long num, unsigned width, char pad, unsigned base, const char $\ast$digits)
\item 
int \hyperlink{group__obuf_g8df75140cd8e7e7e09d3416e1a89a4e3}{obuf\_\-putullnumw} (\hyperlink{structobuf}{obuf} $\ast$out, unsigned long long num, unsigned width, char pad, unsigned base, const char $\ast$digits)
\item 
int \hyperlink{group__obuf_ged03a0d0778f8b3e6af12cad3446eadd}{obuf\_\-putnetstring} (\hyperlink{structobuf}{obuf} $\ast$out, const char $\ast$data, unsigned datalen)
\item 
int \hyperlink{group__obuf_gbef86026d605262194142e28a3e192a4}{obuf\_\-sign\_\-pad} (\hyperlink{structobuf}{obuf} $\ast$out, int sign, unsigned width, char pad)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
\hyperlink{structobuf}{obuf} \hyperlink{group__obuf_g7786baf4fe0e6d14e304536eb40d6354}{outbuf}
\item 
\hyperlink{structobuf}{obuf} \hyperlink{group__obuf_gfa9e5277c3780b0832a2a278eef7c59e}{errbuf}
\item 
\hypertarget{group__obuf_gf323837f74b28200d29102786dea80a8}{
const char \textbf{obuf\_\-dec\_\-digits} \mbox{[}10\mbox{]}}
\label{group__obuf_gf323837f74b28200d29102786dea80a8}

\item 
\hypertarget{group__obuf_g585c0dddc1175a6d7d8230fc968e9a8b}{
const char \textbf{obuf\_\-hex\_\-lcase\_\-digits} \mbox{[}16\mbox{]}}
\label{group__obuf_g585c0dddc1175a6d7d8230fc968e9a8b}

\item 
\hypertarget{group__obuf_gc7e9df74b8581cd333f3ed05f3e2ec70}{
const char \textbf{obuf\_\-hex\_\-ucase\_\-digits} \mbox{[}16\mbox{]}}
\label{group__obuf_gc7e9df74b8581cd333f3ed05f3e2ec70}

\end{CompactItemize}


\subsection{Detailed Description}
\begin{Desc}
\item[Calling Convention]\end{Desc}
Unless otherwise specified, the return value is non-zero (true) if the entire requested operation completed, and {\tt 0} (false) otherwise. 

\subsection{Define Documentation}
\hypertarget{group__obuf_gbbdf0f428faeb7f324fbeb02dfc86922}{
\index{obuf@{obuf}!OBUF\_\-APPEND@{OBUF\_\-APPEND}}
\index{OBUF\_\-APPEND@{OBUF\_\-APPEND}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define OBUF\_\-APPEND~O\_\-APPEND}}
\label{group__obuf_gbbdf0f428faeb7f324fbeb02dfc86922}


All writes go to the end of the file. \hypertarget{group__obuf_gdb3db33d9e3b8b4993afc9152f78cbbe}{
\index{obuf@{obuf}!obuf\_\-closed@{obuf\_\-closed}}
\index{obuf\_\-closed@{obuf\_\-closed}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define obuf\_\-closed(out)~iobuf\_\-closed(\&(out) $\rightarrow$ io)}}
\label{group__obuf_gdb3db33d9e3b8b4993afc9152f78cbbe}


Test if the {\tt \hyperlink{structobuf}{obuf}} has been closed. \hypertarget{group__obuf_gf0b8d24d432d19c4c3fe9f8f1aa5a976}{
\index{obuf@{obuf}!OBUF\_\-CREATE@{OBUF\_\-CREATE}}
\index{OBUF\_\-CREATE@{OBUF\_\-CREATE}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define OBUF\_\-CREATE~O\_\-CREAT}}
\label{group__obuf_gf0b8d24d432d19c4c3fe9f8f1aa5a976}


Create the file if it does not already exist. \hypertarget{group__obuf_g62b6e576bfc1cd1f9184a144467eb125}{
\index{obuf@{obuf}!obuf\_\-error@{obuf\_\-error}}
\index{obuf\_\-error@{obuf\_\-error}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define obuf\_\-error(out)~iobuf\_\-error(\&(out) $\rightarrow$ io)}}
\label{group__obuf_g62b6e576bfc1cd1f9184a144467eb125}


Test if the {\tt \hyperlink{structobuf}{obuf}} is in an error state. \hypertarget{group__obuf_g2f097eb9e0814eddffeba24e86a513df}{
\index{obuf@{obuf}!OBUF\_\-EXCLUSIVE@{OBUF\_\-EXCLUSIVE}}
\index{OBUF\_\-EXCLUSIVE@{OBUF\_\-EXCLUSIVE}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define OBUF\_\-EXCLUSIVE~O\_\-EXCL}}
\label{group__obuf_g2f097eb9e0814eddffeba24e86a513df}


If {\tt OBUF\_\-CREATE} is set, fail to create the file if it already exists. \hypertarget{group__obuf_g06c401948c88cae85fe586a9fd3580c8}{
\index{obuf@{obuf}!obuf\_\-puts@{obuf\_\-puts}}
\index{obuf\_\-puts@{obuf\_\-puts}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define obuf\_\-puts(out, {\bf str})~obuf\_\-write(out,{\bf str},strlen({\bf str}))}}
\label{group__obuf_g06c401948c88cae85fe586a9fd3580c8}


Write a C string to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_g70a608bd004fc6f255852cafe415f716}{
\index{obuf@{obuf}!obuf\_\-putstr@{obuf\_\-putstr}}
\index{obuf\_\-putstr@{obuf\_\-putstr}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define obuf\_\-putstr(out, {\bf str})~obuf\_\-write(out,({\bf str}) $\rightarrow$ s,({\bf str}) $\rightarrow$ len)}}
\label{group__obuf_g70a608bd004fc6f255852cafe415f716}


Write a dynamic string to the {\tt \hyperlink{structiobuf}{iobuf}} \hypertarget{group__obuf_gcfc4d6943e15538903c3667dea9a9f09}{
\index{obuf@{obuf}!obuf\_\-rewind@{obuf\_\-rewind}}
\index{obuf\_\-rewind@{obuf\_\-rewind}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define obuf\_\-rewind(out)~obuf\_\-seek(out,0)}}
\label{group__obuf_gcfc4d6943e15538903c3667dea9a9f09}


Set the effective write position to the start of the file. \hypertarget{group__obuf_g078f3950712509205177452270e73b20}{
\index{obuf@{obuf}!obuf\_\-tell@{obuf\_\-tell}}
\index{obuf\_\-tell@{obuf\_\-tell}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define obuf\_\-tell(out)~((out) $\rightarrow$ io.offset+(out) $\rightarrow$ bufpos)}}
\label{group__obuf_g078f3950712509205177452270e73b20}


Look up the current effective write position. \hypertarget{group__obuf_ge82c646b1252e975b43a59fa5dbfc594}{
\index{obuf@{obuf}!obuf\_\-timedout@{obuf\_\-timedout}}
\index{obuf\_\-timedout@{obuf\_\-timedout}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define obuf\_\-timedout(out)~iobuf\_\-timedout(\&((out) $\rightarrow$ io))}}
\label{group__obuf_ge82c646b1252e975b43a59fa5dbfc594}


Test if the last {\tt \hyperlink{structobuf}{obuf}} write timed out. \hypertarget{group__obuf_gf21027144be2cdf09f8fb62184d036e0}{
\index{obuf@{obuf}!OBUF\_\-TRUNCATE@{OBUF\_\-TRUNCATE}}
\index{OBUF\_\-TRUNCATE@{OBUF\_\-TRUNCATE}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define OBUF\_\-TRUNCATE~O\_\-TRUNC}}
\label{group__obuf_gf21027144be2cdf09f8fb62184d036e0}


If the file exists, truncate it to length 0. 

\subsection{Typedef Documentation}
\hypertarget{group__obuf_g5d21ad371d3d1522bbec6915145ef02d}{
\index{obuf@{obuf}!obuf@{obuf}}
\index{obuf@{obuf}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf obuf} {\bf obuf}}}
\label{group__obuf_g5d21ad371d3d1522bbec6915145ef02d}


Output specific buffer typedef. \hypertarget{group__obuf_ga39dfad0e8745cdcb31ffe6353758c48}{
\index{obuf@{obuf}!obuf\_\-fn@{obuf\_\-fn}}
\index{obuf\_\-fn@{obuf\_\-fn}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ {\bf obuf\_\-fn})(int, const void $\ast$, unsigned long)}}
\label{group__obuf_ga39dfad0e8745cdcb31ffe6353758c48}


{\tt \hyperlink{structobuf}{obuf}} write function pointer prototype. 

\subsection{Function Documentation}
\hypertarget{group__obuf_g610bff3f5c0764568ca4a4741340cfcc}{
\index{obuf@{obuf}!obuf\_\-close@{obuf\_\-close}}
\index{obuf\_\-close@{obuf\_\-close}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-close ({\bf obuf} $\ast$ {\em out})}}
\label{group__obuf_g610bff3f5c0764568ca4a4741340cfcc}


Flush and close the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_g3076cb0bd4009f248207baba2e420197}{
\index{obuf@{obuf}!obuf\_\-endl@{obuf\_\-endl}}
\index{obuf\_\-endl@{obuf\_\-endl}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-endl ({\bf obuf} $\ast$ {\em out})}}
\label{group__obuf_g3076cb0bd4009f248207baba2e420197}


Write a newline to the {\tt \hyperlink{structobuf}{obuf}} and flush it. \hypertarget{group__obuf_g6ddac728408520e6d56da0505c6e03ad}{
\index{obuf@{obuf}!obuf\_\-flush@{obuf\_\-flush}}
\index{obuf\_\-flush@{obuf\_\-flush}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-flush ({\bf obuf} $\ast$ {\em out})}}
\label{group__obuf_g6ddac728408520e6d56da0505c6e03ad}


Write all pending data in the {\tt \hyperlink{structobuf}{obuf}} to the file descriptor. \hypertarget{group__obuf_gb9eeed3514560048a940ee7b24dd1347}{
\index{obuf@{obuf}!obuf\_\-init@{obuf\_\-init}}
\index{obuf\_\-init@{obuf\_\-init}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-init ({\bf obuf} $\ast$ {\em out}, int {\em fd}, {\bf obuf\_\-fn} {\em fn}, unsigned {\em flags}, unsigned {\em bufsize})}}
\label{group__obuf_gb9eeed3514560048a940ee7b24dd1347}


Initialize an {\tt \hyperlink{structobuf}{obuf}} from an already-opened file descriptor. \hypertarget{group__obuf_g3dea7751e7b1097224be09ff1e71888f}{
\index{obuf@{obuf}!obuf\_\-open@{obuf\_\-open}}
\index{obuf\_\-open@{obuf\_\-open}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-open ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em filename}, int {\em oflags}, int {\em mode}, unsigned {\em bufsize})}}
\label{group__obuf_g3dea7751e7b1097224be09ff1e71888f}


Initialize an {\tt \hyperlink{structobuf}{obuf}} by opening a file for writing. \hypertarget{group__obuf_g608698be2e8e24767cf1b27716653660}{
\index{obuf@{obuf}!obuf\_\-pad@{obuf\_\-pad}}
\index{obuf\_\-pad@{obuf\_\-pad}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-pad ({\bf obuf} $\ast$ {\em out}, unsigned {\em width}, char {\em ch})}}
\label{group__obuf_g608698be2e8e24767cf1b27716653660}


Pad the output with {\tt width} instances of the single character {\tt ch}. \hypertarget{group__obuf_g9ec0f20a3f1928e44691f57425703b57}{
\index{obuf@{obuf}!obuf\_\-put2s@{obuf\_\-put2s}}
\index{obuf\_\-put2s@{obuf\_\-put2s}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-put2s ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em s1}, const char $\ast$ {\em s2})}}
\label{group__obuf_g9ec0f20a3f1928e44691f57425703b57}


Write 2 C strings to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_gb34e2094f765c45757394f1a0c13de9b}{
\index{obuf@{obuf}!obuf\_\-put3s@{obuf\_\-put3s}}
\index{obuf\_\-put3s@{obuf\_\-put3s}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-put3s ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em s1}, const char $\ast$ {\em s2}, const char $\ast$ {\em s3})}}
\label{group__obuf_gb34e2094f765c45757394f1a0c13de9b}


Write 3 C strings to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_ge39b3c2511685f4fe16e62fd9d509136}{
\index{obuf@{obuf}!obuf\_\-put4s@{obuf\_\-put4s}}
\index{obuf\_\-put4s@{obuf\_\-put4s}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-put4s ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em s1}, const char $\ast$ {\em s2}, const char $\ast$ {\em s3}, const char $\ast$ {\em s4})}}
\label{group__obuf_ge39b3c2511685f4fe16e62fd9d509136}


Write 4 C strings to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_g7cb66052946afe11c239ef23ea767c5a}{
\index{obuf@{obuf}!obuf\_\-put5s@{obuf\_\-put5s}}
\index{obuf\_\-put5s@{obuf\_\-put5s}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-put5s ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em s1}, const char $\ast$ {\em s2}, const char $\ast$ {\em s3}, const char $\ast$ {\em s4}, const char $\ast$ {\em s5})}}
\label{group__obuf_g7cb66052946afe11c239ef23ea767c5a}


Write 5 C strings to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_g864c5f97b57eee47292f643648f21d65}{
\index{obuf@{obuf}!obuf\_\-put6s@{obuf\_\-put6s}}
\index{obuf\_\-put6s@{obuf\_\-put6s}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-put6s ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em s1}, const char $\ast$ {\em s2}, const char $\ast$ {\em s3}, const char $\ast$ {\em s4}, const char $\ast$ {\em s5}, const char $\ast$ {\em s6})}}
\label{group__obuf_g864c5f97b57eee47292f643648f21d65}


Write 6 C strings to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_ga71c9bbbbacfe3b4a13ec56804ac6d13}{
\index{obuf@{obuf}!obuf\_\-put7s@{obuf\_\-put7s}}
\index{obuf\_\-put7s@{obuf\_\-put7s}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-put7s ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em s1}, const char $\ast$ {\em s2}, const char $\ast$ {\em s3}, const char $\ast$ {\em s4}, const char $\ast$ {\em s5}, const char $\ast$ {\em s6}, const char $\ast$ {\em s7})}}
\label{group__obuf_ga71c9bbbbacfe3b4a13ec56804ac6d13}


Write 7 C strings to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_g875c0262a092dcb73bcbd0a3fa557d26}{
\index{obuf@{obuf}!obuf\_\-putc@{obuf\_\-putc}}
\index{obuf\_\-putc@{obuf\_\-putc}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putc ({\bf obuf} $\ast$ {\em out}, char {\em ch})}}
\label{group__obuf_g875c0262a092dcb73bcbd0a3fa557d26}


Write a single character to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_gf9c5d5661c1da0dffbc3c2c8c951f3ca}{
\index{obuf@{obuf}!obuf\_\-putf@{obuf\_\-putf}}
\index{obuf\_\-putf@{obuf\_\-putf}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putf ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em format},  {\em ...})}}
\label{group__obuf_gf9c5d5661c1da0dffbc3c2c8c951f3ca}


Write a formatted string using {\tt fmt\_\-multi} from variable arguments \begin{Desc}
\item[Examples: ]\par
\hyperlink{adt_2ghash__test_8c-example}{adt/ghash\_\-test.c}.\end{Desc}
\hypertarget{group__obuf_gb0e0f78155d17a50e83d61d2f686d945}{
\index{obuf@{obuf}!obuf\_\-putfv@{obuf\_\-putfv}}
\index{obuf\_\-putfv@{obuf\_\-putfv}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putfv ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em format}, va\_\-list {\em ap})}}
\label{group__obuf_gb0e0f78155d17a50e83d61d2f686d945}


Write a formatted string using {\tt fmt\_\-multi} from a {\tt va\_\-list} \hypertarget{group__obuf_gd0ee3632bc0d26a9819377aba16d406f}{
\index{obuf@{obuf}!obuf\_\-puti@{obuf\_\-puti}}
\index{obuf\_\-puti@{obuf\_\-puti}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-puti ({\bf obuf} $\ast$ {\em out}, long {\em data})}}
\label{group__obuf_gd0ee3632bc0d26a9819377aba16d406f}


Write a signed integer as decimal to the {\tt \hyperlink{structobuf}{obuf}}. \begin{Desc}
\item[Examples: ]\par
\hyperlink{adt_2gqueue__test_8c-example}{adt/gqueue\_\-test.c}, and \hyperlink{adt_2gstack__test_8c-example}{adt/gstack\_\-test.c}.\end{Desc}
\hypertarget{group__obuf_g54410e8023b4cf933657c1aad5842413}{
\index{obuf@{obuf}!obuf\_\-putill@{obuf\_\-putill}}
\index{obuf\_\-putill@{obuf\_\-putill}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putill ({\bf obuf} $\ast$ {\em out}, long long {\em data})}}
\label{group__obuf_g54410e8023b4cf933657c1aad5842413}


Write a signed long long integer as decimal to the {\tt \hyperlink{structobuf}{obuf}}. \hypertarget{group__obuf_g2cf372af70bc6147a2db479d8a85df5d}{
\index{obuf@{obuf}!obuf\_\-putiw@{obuf\_\-putiw}}
\index{obuf\_\-putiw@{obuf\_\-putiw}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putiw ({\bf obuf} $\ast$ {\em out}, long {\em data}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_g2cf372af70bc6147a2db479d8a85df5d}


Write a signed integer as decimal to the {\tt \hyperlink{structobuf}{obuf}} with padding. \hypertarget{group__obuf_g9735a1718e14888c15a68391fcfa8a32}{
\index{obuf@{obuf}!obuf\_\-putiwll@{obuf\_\-putiwll}}
\index{obuf\_\-putiwll@{obuf\_\-putiwll}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putiwll ({\bf obuf} $\ast$ {\em out}, long long {\em data}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_g9735a1718e14888c15a68391fcfa8a32}


Write a signed long long integer as decimal to the {\tt \hyperlink{structobuf}{obuf}} with padding. \hypertarget{group__obuf_ged03a0d0778f8b3e6af12cad3446eadd}{
\index{obuf@{obuf}!obuf\_\-putnetstring@{obuf\_\-putnetstring}}
\index{obuf\_\-putnetstring@{obuf\_\-putnetstring}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putnetstring ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em data}, unsigned {\em datalen})}}
\label{group__obuf_ged03a0d0778f8b3e6af12cad3446eadd}


Write the binary block to the {\tt \hyperlink{structobuf}{obuf}} as a \char`\"{}netstring\char`\"{}. \hypertarget{group__obuf_g04c43549b6398ac77ef9f2364ddb26f2}{
\index{obuf@{obuf}!obuf\_\-putns@{obuf\_\-putns}}
\index{obuf\_\-putns@{obuf\_\-putns}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putns ({\bf obuf} $\ast$ {\em out}, unsigned int {\em count},  {\em ...})}}
\label{group__obuf_g04c43549b6398ac77ef9f2364ddb26f2}


Write N C strings to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_geb191f028a654a047f02148a9af9811d}{
\index{obuf@{obuf}!obuf\_\-putsflush@{obuf\_\-putsflush}}
\index{obuf\_\-putsflush@{obuf\_\-putsflush}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putsflush ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em str})}}
\label{group__obuf_geb191f028a654a047f02148a9af9811d}


Write a C string to the {\tt \hyperlink{structobuf}{obuf}} and flush it. \hypertarget{group__obuf_g4e8023a4f1fdc030650fcbbac89d73ea}{
\index{obuf@{obuf}!obuf\_\-putsllnumw@{obuf\_\-putsllnumw}}
\index{obuf\_\-putsllnumw@{obuf\_\-putsllnumw}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putsllnumw ({\bf obuf} $\ast$ {\em out}, long long {\em data}, unsigned {\em width}, char {\em pad}, unsigned {\em base}, const char $\ast$ {\em digits})}}
\label{group__obuf_g4e8023a4f1fdc030650fcbbac89d73ea}


Write a signed long long integer to the {\tt \hyperlink{structobuf}{obuf}} with optional padding. \hypertarget{group__obuf_gc91df37cd8f3fbb0384e296440d1ce42}{
\index{obuf@{obuf}!obuf\_\-putsnumw@{obuf\_\-putsnumw}}
\index{obuf\_\-putsnumw@{obuf\_\-putsnumw}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putsnumw ({\bf obuf} $\ast$ {\em out}, long {\em data}, unsigned {\em width}, char {\em pad}, unsigned {\em base}, const char $\ast$ {\em digits})}}
\label{group__obuf_gc91df37cd8f3fbb0384e296440d1ce42}


Write a signed integer to the {\tt \hyperlink{structobuf}{obuf}} with optional padding. \hypertarget{group__obuf_g75231da78e1b0dcc2a9307f487c0a47d}{
\index{obuf@{obuf}!obuf\_\-putu@{obuf\_\-putu}}
\index{obuf\_\-putu@{obuf\_\-putu}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putu ({\bf obuf} $\ast$ {\em out}, unsigned long {\em data})}}
\label{group__obuf_g75231da78e1b0dcc2a9307f487c0a47d}


Write an unsigned integer as decimal to the {\tt \hyperlink{structobuf}{obuf}}. \hypertarget{group__obuf_geb1a75d1bc3f7ae6bfaa91773bac1b0a}{
\index{obuf@{obuf}!obuf\_\-putull@{obuf\_\-putull}}
\index{obuf\_\-putull@{obuf\_\-putull}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putull ({\bf obuf} $\ast$ {\em out}, unsigned long long {\em data})}}
\label{group__obuf_geb1a75d1bc3f7ae6bfaa91773bac1b0a}


Write an unsigned long long integer as decimal to the {\tt \hyperlink{structobuf}{obuf}}. \hypertarget{group__obuf_g8df75140cd8e7e7e09d3416e1a89a4e3}{
\index{obuf@{obuf}!obuf\_\-putullnumw@{obuf\_\-putullnumw}}
\index{obuf\_\-putullnumw@{obuf\_\-putullnumw}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putullnumw ({\bf obuf} $\ast$ {\em out}, unsigned long long {\em data}, unsigned {\em width}, char {\em pad}, unsigned {\em base}, const char $\ast$ {\em digits})}}
\label{group__obuf_g8df75140cd8e7e7e09d3416e1a89a4e3}


Write an unsigned long long integer to the {\tt \hyperlink{structobuf}{obuf}} with optional padding. \hypertarget{group__obuf_gd5b1e82de1a914549ce29defdbd11af9}{
\index{obuf@{obuf}!obuf\_\-putunumw@{obuf\_\-putunumw}}
\index{obuf\_\-putunumw@{obuf\_\-putunumw}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putunumw ({\bf obuf} $\ast$ {\em out}, unsigned long {\em data}, unsigned {\em width}, char {\em pad}, unsigned {\em base}, const char $\ast$ {\em digits})}}
\label{group__obuf_gd5b1e82de1a914549ce29defdbd11af9}


Write an unsigned integer to the {\tt \hyperlink{structobuf}{obuf}} with optional padding. \hypertarget{group__obuf_gb733b82803b4ddf12e7ff1140cd4eaf4}{
\index{obuf@{obuf}!obuf\_\-putuw@{obuf\_\-putuw}}
\index{obuf\_\-putuw@{obuf\_\-putuw}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putuw ({\bf obuf} $\ast$ {\em out}, unsigned long {\em data}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_gb733b82803b4ddf12e7ff1140cd4eaf4}


Write an unsigned integer as decimal to the {\tt \hyperlink{structobuf}{obuf}} with padding. \hypertarget{group__obuf_gbd73e29249fddf85754a3248ad9b8909}{
\index{obuf@{obuf}!obuf\_\-putuwll@{obuf\_\-putuwll}}
\index{obuf\_\-putuwll@{obuf\_\-putuwll}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putuwll ({\bf obuf} $\ast$ {\em out}, unsigned long long {\em data}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_gbd73e29249fddf85754a3248ad9b8909}


Write an unsigned long long integer as decimal to the {\tt \hyperlink{structobuf}{obuf}} with padding. \hypertarget{group__obuf_gf571b1aee85e5536ead2f139fe723a89}{
\index{obuf@{obuf}!obuf\_\-putX@{obuf\_\-putX}}
\index{obuf\_\-putX@{obuf\_\-putX}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putX ({\bf obuf} $\ast$ {\em out}, unsigned long {\em data})}}
\label{group__obuf_gf571b1aee85e5536ead2f139fe723a89}


Write an unsigned integer as (upper-case) hexadecimal to the {\tt \hyperlink{structobuf}{obuf}}. \hypertarget{group__obuf_g73b0e1bad7d14bce50996b0a79e3e60f}{
\index{obuf@{obuf}!obuf\_\-putx@{obuf\_\-putx}}
\index{obuf\_\-putx@{obuf\_\-putx}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putx ({\bf obuf} $\ast$ {\em out}, unsigned long {\em data})}}
\label{group__obuf_g73b0e1bad7d14bce50996b0a79e3e60f}


Write an unsigned integer as (lower-case) hexadecimal to the {\tt \hyperlink{structobuf}{obuf}}. \hypertarget{group__obuf_g2991868a52edf6fffa2ea17f5f8fee93}{
\index{obuf@{obuf}!obuf\_\-putXll@{obuf\_\-putXll}}
\index{obuf\_\-putXll@{obuf\_\-putXll}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putXll ({\bf obuf} $\ast$ {\em out}, unsigned long long {\em data})}}
\label{group__obuf_g2991868a52edf6fffa2ea17f5f8fee93}


Write an unsigned long long integer as (upper-case) hexadecimal to the {\tt \hyperlink{structobuf}{obuf}}. \hypertarget{group__obuf_ge0ed6f7cf0658c006863ace5c2716a79}{
\index{obuf@{obuf}!obuf\_\-putxll@{obuf\_\-putxll}}
\index{obuf\_\-putxll@{obuf\_\-putxll}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putxll ({\bf obuf} $\ast$ {\em out}, unsigned long long {\em data})}}
\label{group__obuf_ge0ed6f7cf0658c006863ace5c2716a79}


Write an unsigned long long integer as (lower-case) hexadecimal to the {\tt \hyperlink{structobuf}{obuf}}. \hypertarget{group__obuf_g4349ac8d9999d042abd3e885a96b42e0}{
\index{obuf@{obuf}!obuf\_\-putXw@{obuf\_\-putXw}}
\index{obuf\_\-putXw@{obuf\_\-putXw}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putXw ({\bf obuf} $\ast$ {\em out}, unsigned long {\em data}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_g4349ac8d9999d042abd3e885a96b42e0}


Write an unsigned integer as (upper-case) hexadecimal to the {\tt \hyperlink{structobuf}{obuf}} with padding. \hypertarget{group__obuf_g63bc25bd5decb5affccd967701181e02}{
\index{obuf@{obuf}!obuf\_\-putxw@{obuf\_\-putxw}}
\index{obuf\_\-putxw@{obuf\_\-putxw}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putxw ({\bf obuf} $\ast$ {\em out}, unsigned long {\em data}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_g63bc25bd5decb5affccd967701181e02}


Write an unsigned integer as (lower-case) hexadecimal to the {\tt \hyperlink{structobuf}{obuf}} with padding. \hypertarget{group__obuf_g89141b7b75a203e1f2ba61a8396be456}{
\index{obuf@{obuf}!obuf\_\-putXwll@{obuf\_\-putXwll}}
\index{obuf\_\-putXwll@{obuf\_\-putXwll}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putXwll ({\bf obuf} $\ast$ {\em out}, unsigned long long {\em data}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_g89141b7b75a203e1f2ba61a8396be456}


Write an unsigned long long integer as (upper-case) hexadecimal to the {\tt \hyperlink{structobuf}{obuf}} with padding. \hypertarget{group__obuf_g34cdd4dc150b9ebeebbe6b4e63b16f1a}{
\index{obuf@{obuf}!obuf\_\-putxwll@{obuf\_\-putxwll}}
\index{obuf\_\-putxwll@{obuf\_\-putxwll}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-putxwll ({\bf obuf} $\ast$ {\em out}, unsigned long long {\em data}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_g34cdd4dc150b9ebeebbe6b4e63b16f1a}


Write an unsigned long long integer as (lower-case) hexadecimal to the {\tt \hyperlink{structobuf}{obuf}} with padding. \hypertarget{group__obuf_g2f5fa6c89c5d58023125710fa42285f4}{
\index{obuf@{obuf}!obuf\_\-seek@{obuf\_\-seek}}
\index{obuf\_\-seek@{obuf\_\-seek}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-seek ({\bf obuf} $\ast$ {\em out}, unsigned {\em offset})}}
\label{group__obuf_g2f5fa6c89c5d58023125710fa42285f4}


Set the effective write position. \hypertarget{group__obuf_gbef86026d605262194142e28a3e192a4}{
\index{obuf@{obuf}!obuf\_\-sign\_\-pad@{obuf\_\-sign\_\-pad}}
\index{obuf\_\-sign\_\-pad@{obuf\_\-sign\_\-pad}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-sign\_\-pad ({\bf obuf} $\ast$ {\em out}, int {\em sign}, unsigned {\em width}, char {\em pad})}}
\label{group__obuf_gbef86026d605262194142e28a3e192a4}


Pad the output with {\tt width} instances of the single character {\tt ch}, preceded by an optional negative sign at an appropriate place.

If the pad character is {\tt '0'} then any negative sign is placed as the first character, followed by padding. Otherwise, it is preceded by the padding. \hypertarget{group__obuf_g926e867fc325f0b221ce507d6a6285e4}{
\index{obuf@{obuf}!obuf\_\-sync@{obuf\_\-sync}}
\index{obuf\_\-sync@{obuf\_\-sync}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-sync ({\bf obuf} $\ast$ {\em out})}}
\label{group__obuf_g926e867fc325f0b221ce507d6a6285e4}


Flush the {\tt \hyperlink{structobuf}{obuf}} and then {\tt fsync} the file descriptor. \hypertarget{group__obuf_g03421ac22a31290e1e94462257b13781}{
\index{obuf@{obuf}!obuf\_\-write@{obuf\_\-write}}
\index{obuf\_\-write@{obuf\_\-write}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-write ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em data}, unsigned {\em datalen})}}
\label{group__obuf_g03421ac22a31290e1e94462257b13781}


Write a block of data to the {\tt \hyperlink{structobuf}{obuf}} \hypertarget{group__obuf_g165f549a8931c793af8aef1db88a64d4}{
\index{obuf@{obuf}!obuf\_\-write\_\-large@{obuf\_\-write\_\-large}}
\index{obuf\_\-write\_\-large@{obuf\_\-write\_\-large}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int obuf\_\-write\_\-large ({\bf obuf} $\ast$ {\em out}, const char $\ast$ {\em data}, unsigned {\em datalen})}}
\label{group__obuf_g165f549a8931c793af8aef1db88a64d4}


Write a large block of data to the {\tt \hyperlink{structobuf}{obuf}}, avoiding copying. 

\subsection{Variable Documentation}
\hypertarget{group__obuf_gfa9e5277c3780b0832a2a278eef7c59e}{
\index{obuf@{obuf}!errbuf@{errbuf}}
\index{errbuf@{errbuf}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf obuf} {\bf errbuf}}}
\label{group__obuf_gfa9e5277c3780b0832a2a278eef7c59e}


Output buffer for {\tt stderr} \hypertarget{group__obuf_g7786baf4fe0e6d14e304536eb40d6354}{
\index{obuf@{obuf}!outbuf@{outbuf}}
\index{outbuf@{outbuf}!obuf@{obuf}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf obuf} {\bf outbuf}}}
\label{group__obuf_g7786baf4fe0e6d14e304536eb40d6354}


Output buffer for {\tt stdout} \begin{Desc}
\item[Examples: ]\par
\hyperlink{adt_2ghash__test_8c-example}{adt/ghash\_\-test.c}, \hyperlink{adt_2gqueue__test_8c-example}{adt/gqueue\_\-test.c}, and \hyperlink{adt_2gstack__test_8c-example}{adt/gstack\_\-test.c}.\end{Desc}
