\doxysection{vio.\+h}
\label{a00020_source}\index{vio.h@{vio.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{39 \textcolor{preprocessor}{\#ifndef \_VIO\_H\_}}
\DoxyCodeLine{40 \textcolor{preprocessor}{\#define \_VIO\_H\_}}
\DoxyCodeLine{41 }
\DoxyCodeLine{42 \textcolor{preprocessor}{\#include <maloc/maloc\_base.h>}}
\DoxyCodeLine{43 }
\DoxyCodeLine{44 \textcolor{preprocessor}{\#include <maloc/vnm.h>}}
\DoxyCodeLine{45 }
\DoxyCodeLine{46 \textcolor{comment}{/*}}
\DoxyCodeLine{47 \textcolor{comment}{ * ***************************************************************************}}
\DoxyCodeLine{48 \textcolor{comment}{ * Class Vio: Parameters and datatypes}}
\DoxyCodeLine{49 \textcolor{comment}{ * ***************************************************************************}}
\DoxyCodeLine{50 \textcolor{comment}{ */}}
\DoxyCodeLine{51 }
\DoxyCodeLine{53 \textcolor{preprocessor}{\#define VPORTNUMBER 14916   }}
\DoxyCodeLine{55 \textcolor{preprocessor}{\#define VIO\_MAXBUF 10       }}
\DoxyCodeLine{56 }
\DoxyCodeLine{62 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} VIOtype \{}
\DoxyCodeLine{63     VIO\_NO\_TYPE, }
\DoxyCodeLine{64     VIO\_SDIO,}
\DoxyCodeLine{65     VIO\_BUFF,}
\DoxyCodeLine{66     VIO\_FILE,}
\DoxyCodeLine{67     VIO\_UNIX,}
\DoxyCodeLine{68     VIO\_INET}
\DoxyCodeLine{69 \} VIOtype;}
\DoxyCodeLine{70 }
\DoxyCodeLine{76 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} VIOfrmt \{}
\DoxyCodeLine{77     VIO\_NO\_FRMT,}
\DoxyCodeLine{78     VIO\_XDR,}
\DoxyCodeLine{79     VIO\_ASC}
\DoxyCodeLine{80 \} VIOfrmt;}
\DoxyCodeLine{81 }
\DoxyCodeLine{87 \textcolor{keyword}{typedef} \textcolor{keyword}{enum} VIOrwkey \{}
\DoxyCodeLine{88     VIO\_NO\_RW,}
\DoxyCodeLine{89     VIO\_R,}
\DoxyCodeLine{90     VIO\_W}
\DoxyCodeLine{91 \} VIOrwkey;}
\DoxyCodeLine{92 }
\DoxyCodeLine{98 \textcolor{keyword}{struct }sVio \{}
\DoxyCodeLine{99 }
\DoxyCodeLine{100     VIOtype type;       }
\DoxyCodeLine{108     VIOfrmt frmt;       }
\DoxyCodeLine{113     VIOrwkey rwkey;     }
\DoxyCodeLine{118     \textcolor{keywordtype}{char} file[VMAX\_ARGLEN];   }
\DoxyCodeLine{119     \textcolor{keywordtype}{char} lhost[VMAX\_ARGLEN];  }
\DoxyCodeLine{120     \textcolor{keywordtype}{char} rhost[VMAX\_ARGLEN];  }
\DoxyCodeLine{122     \textcolor{keywordtype}{int} error;        }
\DoxyCodeLine{123     \textcolor{keywordtype}{int} dirty;        }
\DoxyCodeLine{125     FILE *fp;         }
\DoxyCodeLine{126     \textcolor{keywordtype}{int} so;           }
\DoxyCodeLine{127     \textcolor{keywordtype}{int} soc;          }
\DoxyCodeLine{128     \textcolor{keywordtype}{void} *name;       }
\DoxyCodeLine{129     \textcolor{keywordtype}{void} *axdr;       }
\DoxyCodeLine{131     \textcolor{keywordtype}{char} whiteChars[VMAX\_ARGNUM]; }
\DoxyCodeLine{132     \textcolor{keywordtype}{char} commChars[VMAX\_ARGNUM];  }
\DoxyCodeLine{134     \textcolor{keywordtype}{char} ioBuffer[VMAX\_BUFSIZE];  }
\DoxyCodeLine{135     \textcolor{keywordtype}{int} ioBufferLen;              }
\DoxyCodeLine{137     \textcolor{keywordtype}{char} putBuffer[VMAX\_BUFSIZE]; }
\DoxyCodeLine{138     \textcolor{keywordtype}{int} putBufferLen;             }
\DoxyCodeLine{140     \textcolor{keywordtype}{char} *VIObuffer;    }
\DoxyCodeLine{141     \textcolor{keywordtype}{int} VIObufferLen;   }
\DoxyCodeLine{142     \textcolor{keywordtype}{int} VIObufferPtr;   }
\DoxyCodeLine{144 \};}
\DoxyCodeLine{145 }
\DoxyCodeLine{151 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }sVio Vio;}
\DoxyCodeLine{152 }
\DoxyCodeLine{153 \textcolor{comment}{/*}}
\DoxyCodeLine{154 \textcolor{comment}{ * ***************************************************************************}}
\DoxyCodeLine{155 \textcolor{comment}{ * Class Vio: Inlineable methods (vio.c)}}
\DoxyCodeLine{156 \textcolor{comment}{ * ***************************************************************************}}
\DoxyCodeLine{157 \textcolor{comment}{ */}}
\DoxyCodeLine{158 }
\DoxyCodeLine{159 \textcolor{preprocessor}{\#if !defined(VINLINE\_MALOC)}}
\DoxyCodeLine{160 \textcolor{preprocessor}{\#else }\textcolor{comment}{/* if defined(VINLINE\_MALOC) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{161 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* if !defined(VINLINE\_MALOC) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{162 }
\DoxyCodeLine{163 \textcolor{comment}{/*}}
\DoxyCodeLine{164 \textcolor{comment}{ * ***************************************************************************}}
\DoxyCodeLine{165 \textcolor{comment}{ * Class Vio: Non-\/Inlineable methods (vio.c)}}
\DoxyCodeLine{166 \textcolor{comment}{ * ***************************************************************************}}
\DoxyCodeLine{167 \textcolor{comment}{ */}}
\DoxyCodeLine{168 }
\DoxyCodeLine{176 \textcolor{keywordtype}{void} Vio\_start(\textcolor{keywordtype}{void});}
\DoxyCodeLine{177 }
\DoxyCodeLine{185 \textcolor{keywordtype}{void} Vio\_stop(\textcolor{keywordtype}{void});}
\DoxyCodeLine{186 }
\DoxyCodeLine{199 Vio* Vio\_ctor(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *socktype, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *datafrmt, }
\DoxyCodeLine{200     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *hostname, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *filename, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *rwkey);}
\DoxyCodeLine{201 }
\DoxyCodeLine{215 \textcolor{keywordtype}{int} Vio\_ctor2(Vio *thee, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *socktype, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *datafrmt, }
\DoxyCodeLine{216     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *hostname, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *filename, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *rwkey);}
\DoxyCodeLine{217 }
\DoxyCodeLine{226 \textcolor{keywordtype}{void} Vio\_dtor(Vio **thee);}
\DoxyCodeLine{227 }
\DoxyCodeLine{236 \textcolor{keywordtype}{void} Vio\_dtor2(Vio *thee);}
\DoxyCodeLine{237 }
\DoxyCodeLine{247 \textcolor{keywordtype}{void} Vio\_setWhiteChars(Vio *thee, \textcolor{keywordtype}{char} *whiteChars);}
\DoxyCodeLine{248 }
\DoxyCodeLine{258 \textcolor{keywordtype}{void} Vio\_setCommChars(Vio *thee, \textcolor{keywordtype}{char} *commChars);}
\DoxyCodeLine{259 }
\DoxyCodeLine{272 \textcolor{keywordtype}{int} Vio\_accept(Vio *thee, \textcolor{keywordtype}{int} nonblock);}
\DoxyCodeLine{273 }
\DoxyCodeLine{282 \textcolor{keywordtype}{void} Vio\_acceptFree(Vio *thee);}
\DoxyCodeLine{283 }
\DoxyCodeLine{296 \textcolor{keywordtype}{int} Vio\_connect(Vio *thee, \textcolor{keywordtype}{int} nonblock);}
\DoxyCodeLine{297 }
\DoxyCodeLine{306 \textcolor{keywordtype}{void} Vio\_connectFree(Vio *thee);}
\DoxyCodeLine{307 }
\DoxyCodeLine{317 \textcolor{keywordtype}{int} Vio\_scanf(Vio *thee, \textcolor{keywordtype}{char} *parms, ...);}
\DoxyCodeLine{318 }
\DoxyCodeLine{328 \textcolor{keywordtype}{int} Vio\_printf(Vio *thee, \textcolor{keywordtype}{char} *parms, ...);}
\DoxyCodeLine{329 }
\DoxyCodeLine{340 \textcolor{keywordtype}{int} Vio\_read(Vio *thee, \textcolor{keywordtype}{char} *buf, \textcolor{keywordtype}{int} bufsize);}
\DoxyCodeLine{341 }
\DoxyCodeLine{352 \textcolor{keywordtype}{int} Vio\_write(Vio *thee, \textcolor{keywordtype}{char} *buf, \textcolor{keywordtype}{int} bufsize);}
\DoxyCodeLine{353 }
\DoxyCodeLine{364 \textcolor{keywordtype}{void} Vio\_bufTake(Vio *thee, \textcolor{keywordtype}{char} *buf, \textcolor{keywordtype}{int} bufsize);}
\DoxyCodeLine{365 }
\DoxyCodeLine{374 \textcolor{keywordtype}{char}* Vio\_bufGive(Vio *thee);}
\DoxyCodeLine{375 }
\DoxyCodeLine{384 \textcolor{keywordtype}{int} Vio\_bufSize(Vio *thee);}
\DoxyCodeLine{385 }
\DoxyCodeLine{398 Vio *Vio\_socketOpen(\textcolor{keywordtype}{char} *key,}
\DoxyCodeLine{399     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *iodev, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *iofmt,}
\DoxyCodeLine{400     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *iohost, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *iofile);}
\DoxyCodeLine{401 }
\DoxyCodeLine{410 \textcolor{keywordtype}{void} Vio\_socketClose(Vio **sock);}
\DoxyCodeLine{411 }
\DoxyCodeLine{412 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_VIO\_H\_ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{413 }

\end{DoxyCode}
