\doxysection{io.\+h}
\hypertarget{io_8h_source}{}\label{io_8h_source}\index{workspace/post-\/scarcity/src/io/io.h@{workspace/post-\/scarcity/src/io/io.h}}
\mbox{\hyperlink{io_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00001}00001\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00002}00002\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00003}00003\ \textcolor{comment}{\ *\ io.h}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00004}00004\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00005}00005\ \textcolor{comment}{\ *\ Communication\ between\ PSSE\ and\ the\ outside\ world,\ via\ libcurl.}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00006}00006\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00007}00007\ \textcolor{comment}{\ *\ (c)\ 2019\ Simon\ Brooke\ <simon@journeyman.cc>}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00008}00008\ \textcolor{comment}{\ *\ Licensed\ under\ GPL\ version\ 2.0,\ or,\ at\ your\ option,\ any\ later\ version.}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00009}00009\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00010}00010\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00011}00011\ \textcolor{preprocessor}{\#ifndef\ \_\_psse\_io\_h}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00012}00012\ \textcolor{preprocessor}{\#define\ \_\_psse\_io\_h}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00013}00013\ \textcolor{preprocessor}{\#include\ <curl/curl.h>}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00014}00014\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{consspaceobject_8h}{memory/consspaceobject.h}}"{}}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00015}00015\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00016}00016\ \textcolor{keyword}{extern}\ CURLSH\ *\mbox{\hyperlink{io_8h_ac40101a2ddb1b4aac9f2f722c84d16dd}{io\_share}};}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00017}00017\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00018}00018\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{io_8h_a12ce98b64f2019ac45b44826a4db7ec9}{io\_init}}(\ \ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00019}00019\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00020}\mbox{\hyperlink{io_8h_a1a6e0422d8cbefa27c3ff7b3fafeada3}{00020}}\ \textcolor{preprocessor}{\#define\ C\_IO\_IN\ L"{}*in*"{}}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00021}\mbox{\hyperlink{io_8h_ae593d1a3bcfcd4b0db87cb0f87a33dea}{00021}}\ \textcolor{preprocessor}{\#define\ C\_IO\_OUT\ L"{}*out*"{}}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00022}00022\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00023}00023\ \textcolor{keyword}{extern}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{io_8h_a21ef246a2e9023dab932aef9cf51ffcd}{lisp\_io\_in}};}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00024}00024\ \textcolor{keyword}{extern}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{io_8h_a4ab3e001c63210ab136b954086f9bed0}{lisp\_io\_out}};}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00025}00025\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00026}00026\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *\mbox{\hyperlink{io_8h_a94886a863fdd18ea9e5559e4a70a5059}{file\_to\_url\_file}}(\ FILE\ *\ f\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00027}00027\ wint\_t\ \mbox{\hyperlink{io_8h_a3be41e66bc649c81ff099e4be3e5b1a8}{url\_fgetwc}}(\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *\ input\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00028}00028\ wint\_t\ \mbox{\hyperlink{io_8h_a201e1590889d70033b6cae46f30ce6e0}{url\_ungetwc}}(\ wint\_t\ wc,\ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *\ input\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00029}00029\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00030}00030\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{io_8h_a9d614d1f21a42692f5dbab12757ec1be}{get\_default\_stream}}(\ bool\ inputp,\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00031}00031\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00032}00032\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00033}00033\ \mbox{\hyperlink{io_8h_abb88a49fb6af67a8370bad809a47faf8}{lisp\_close}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00034}00034\ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00035}00035\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00036}00036\ \mbox{\hyperlink{io_8h_a44891c34d2c712e623d05df4d661a5aa}{lisp\_open}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00037}00037\ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00038}00038\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00039}00039\ \mbox{\hyperlink{io_8h_ac795341ab3355d1a89753166159bfa80}{lisp\_read\_char}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00040}00040\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00041}00041\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00042}00042\ \mbox{\hyperlink{io_8h_a63d8ed9d6c6a5c00d9f62dbc7a24425c}{lisp\_slurp}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00043}00043\ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00044}00044\ }
\DoxyCodeLine{\Hypertarget{io_8h_source_l00045}00045\ \textcolor{keywordtype}{char}\ *\mbox{\hyperlink{io_8h_a7af48ce42d938915fd8e59aad5f566ee}{lisp\_string\_to\_c\_string}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ s\ );}
\DoxyCodeLine{\Hypertarget{io_8h_source_l00046}00046\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
