\section{include/sphinxbase/cmd\+\_\+ln.h File Reference}
\label{cmd__ln_8h}\index{include/sphinxbase/cmd\+\_\+ln.\+h@{include/sphinxbase/cmd\+\_\+ln.\+h}}


Command-\/line and other configurationparsing and handling.  


{\ttfamily \#include $<$stdio.\+h$>$}\\*
{\ttfamily \#include $<$stdarg.\+h$>$}\\*
{\ttfamily \#include $<$sphinxbase/sphinxbase\+\_\+export.\+h$>$}\\*
{\ttfamily \#include $<$sphinxbase/prim\+\_\+type.\+h$>$}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct {\bf arg\+\_\+s}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bf A\+R\+G\+\_\+\+S\+T\+R\+I\+N\+G\+I\+F\+Y}(s)~A\+R\+G\+\_\+\+S\+T\+R\+I\+N\+G\+I\+F\+Y1(s)\label{cmd__ln_8h_a98a8fc7c21a0832cd44e3a6e10844b1e}

\begin{DoxyCompactList}\small\item\em Helper macro to stringify enums and other non-\/string values for default arguments. \end{DoxyCompactList}\item 
\#define {\bfseries A\+R\+G\+\_\+\+S\+T\+R\+I\+N\+G\+I\+F\+Y1}(s)~\#s\label{cmd__ln_8h_ae71d493fb63447033e8797f44fe7bb8d}

\item 
\#define {\bf cmd\+\_\+ln\+\_\+boolean\+\_\+r}(c, n)~({\bf cmd\+\_\+ln\+\_\+int\+\_\+r}(c,n) != 0)\label{cmd__ln_8h_a159e691c95089689cf9a8f85a67830a6}

\begin{DoxyCompactList}\small\item\em Retrieve a boolean value from a command-\/line object. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+set\+\_\+boolean\+\_\+r}(c, n, b)~({\bf cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r}(c,n,(b)!=0))\label{cmd__ln_8h_ad4984b45985a6c5e2b231cf1f9b44fe4}

\begin{DoxyCompactList}\small\item\em Set a boolean value in a command-\/line object. \end{DoxyCompactList}\item 
\#define {\bfseries cmd\+\_\+ln\+\_\+int32\+\_\+r}(c, n)~(int32){\bf cmd\+\_\+ln\+\_\+int\+\_\+r}(c,n)\label{cmd__ln_8h_a744cba615ad615a3bb0fc309e0bfb4c8}

\item 
\#define {\bfseries cmd\+\_\+ln\+\_\+float32\+\_\+r}(c, n)~(float32){\bf cmd\+\_\+ln\+\_\+float\+\_\+r}(c,n)\label{cmd__ln_8h_aac984a3d645ca2293a711dc77e9441e6}

\item 
\#define {\bfseries cmd\+\_\+ln\+\_\+float64\+\_\+r}(c, n)~(float64){\bf cmd\+\_\+ln\+\_\+float\+\_\+r}(c,n)\label{cmd__ln_8h_ad1ef54ed340feb9aa6cc0a32d4fe041e}

\item 
\#define {\bfseries cmd\+\_\+ln\+\_\+set\+\_\+int32\+\_\+r}(c, n, i)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r}(c,n,i)\label{cmd__ln_8h_a4e2c787a885bf6dd5f17c2ba94670bb1}

\item 
\#define {\bfseries cmd\+\_\+ln\+\_\+set\+\_\+float32\+\_\+r}(c, n, f)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}(c,n,(double)f)\label{cmd__ln_8h_ae6d8f136f938b0b997dbe4b5d4cbd7f6}

\item 
\#define {\bfseries cmd\+\_\+ln\+\_\+set\+\_\+float64\+\_\+r}(c, n, f)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}(c,n,(double)f)\label{cmd__ln_8h_a2fc588ffad9586cad2bf4649a6a26269}

\item 
\#define {\bf cmd\+\_\+ln\+\_\+exists}(name)~{\bf cmd\+\_\+ln\+\_\+exists\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)
\begin{DoxyCompactList}\small\item\em Test the existence of a command-\/line argument in the global set of definitions. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+access}(name)~{\bf cmd\+\_\+ln\+\_\+access\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)
\begin{DoxyCompactList}\small\item\em Return a pointer to the previously parsed value for the given argument name. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+str}(name)~{\bf cmd\+\_\+ln\+\_\+str\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)
\begin{DoxyCompactList}\small\item\em Retrieve a string from the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+str\+\_\+list}(name)~{\bf cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)
\begin{DoxyCompactList}\small\item\em Retrieve an array of strings in the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+int32}(name)~(int32){\bf cmd\+\_\+ln\+\_\+int\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)
\begin{DoxyCompactList}\small\item\em Retrieve a 32-\/bit integer from the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+float32}(name)~(float32){\bf cmd\+\_\+ln\+\_\+float\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)
\begin{DoxyCompactList}\small\item\em Retrieve a 32-\/bit float from the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+float64}(name)~(float64){\bf cmd\+\_\+ln\+\_\+float\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)
\begin{DoxyCompactList}\small\item\em Retrieve a 64-\/bit float from the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+boolean}(name)~{\bf cmd\+\_\+ln\+\_\+boolean\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)
\begin{DoxyCompactList}\small\item\em Retrieve a boolean from the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+set\+\_\+str}(n, s)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,s)
\begin{DoxyCompactList}\small\item\em Set a string in the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+set\+\_\+int32}(n, i)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,i)
\begin{DoxyCompactList}\small\item\em Set a 32-\/bit integer value in the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+set\+\_\+float32}(n, f)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,f)
\begin{DoxyCompactList}\small\item\em Set a 32-\/bit float in the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+set\+\_\+float64}(n, f)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,f)
\begin{DoxyCompactList}\small\item\em Set a 64-\/bit float in the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+set\+\_\+boolean}(n, b)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+boolean\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,b)
\begin{DoxyCompactList}\small\item\em Set a boolean value in the global command line. \end{DoxyCompactList}\item 
\#define {\bf cmd\+\_\+ln\+\_\+print\+\_\+help}(f, d)~{\bf cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),f,d)
\begin{DoxyCompactList}\small\item\em Print a help message listing the valid argument names, and the associated attributes as given in defn. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf Values for arg\+\_\+t\+:\+:type}\par
\begin{DoxyCompactItemize}
\item 
\#define {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D}~(1$<$$<$0)\label{cmd__ln_8h_ab1f031eb9c89fa1bcae95b1c7532fb3d}

\begin{DoxyCompactList}\small\item\em Bit indicating a required argument. \end{DoxyCompactList}\item 
\#define {\bf A\+R\+G\+\_\+\+I\+N\+T\+E\+G\+E\+R}~(1$<$$<$1)\label{cmd__ln_8h_a59c01ad9c48f29ac877ba14dc90808de}

\begin{DoxyCompactList}\small\item\em Integer argument (optional). \end{DoxyCompactList}\item 
\#define {\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G}~(1$<$$<$2)\label{cmd__ln_8h_ac8a280a53349bdd41d15edb4fa37972f}

\begin{DoxyCompactList}\small\item\em Floating point argument (optional). \end{DoxyCompactList}\item 
\#define {\bf A\+R\+G\+\_\+\+S\+T\+R\+I\+N\+G}~(1$<$$<$3)\label{cmd__ln_8h_a4de5ed5fcf59a18b24bc9f6449cc9356}

\begin{DoxyCompactList}\small\item\em String argument (optional). \end{DoxyCompactList}\item 
\#define {\bf A\+R\+G\+\_\+\+B\+O\+O\+L\+E\+A\+N}~(1$<$$<$4)\label{cmd__ln_8h_ac7d08ff59bb6905c3375162e75913e88}

\begin{DoxyCompactList}\small\item\em Boolean (true/false) argument (optional). \end{DoxyCompactList}\item 
\#define {\bf A\+R\+G\+\_\+\+S\+T\+R\+I\+N\+G\+\_\+\+L\+I\+S\+T}~(1$<$$<$5)\label{cmd__ln_8h_a0698bd0586e83569c1c0d86f072cfe13}

\begin{DoxyCompactList}\small\item\em Boolean (true/false) argument (optional). \end{DoxyCompactList}\item 
\#define {\bf R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T\+E\+G\+E\+R}~({\bf A\+R\+G\+\_\+\+I\+N\+T\+E\+G\+E\+R} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})\label{cmd__ln_8h_a8186f2660ad6b63be15019598a8dbb36}

\begin{DoxyCompactList}\small\item\em Required integer argument. \end{DoxyCompactList}\item 
\#define {\bf R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G}~({\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})\label{cmd__ln_8h_a92ac706b4ccd544ebea6e0ceaccf3873}

\begin{DoxyCompactList}\small\item\em Required floating point argument. \end{DoxyCompactList}\item 
\#define {\bf R\+E\+Q\+A\+R\+G\+\_\+\+S\+T\+R\+I\+N\+G}~({\bf A\+R\+G\+\_\+\+S\+T\+R\+I\+N\+G} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})\label{cmd__ln_8h_abaf37a6c677dde76bb1a211b818541bb}

\begin{DoxyCompactList}\small\item\em Required string argument. \end{DoxyCompactList}\item 
\#define {\bf R\+E\+Q\+A\+R\+G\+\_\+\+B\+O\+O\+L\+E\+A\+N}~({\bf A\+R\+G\+\_\+\+B\+O\+O\+L\+E\+A\+N} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})\label{cmd__ln_8h_ac98546cfe85afea642248ae3063c2258}

\begin{DoxyCompactList}\small\item\em Required boolean argument. \end{DoxyCompactList}\item 
\#define {\bf A\+R\+G\+\_\+\+I\+N\+T32}~{\bf A\+R\+G\+\_\+\+I\+N\+T\+E\+G\+E\+R}
\item 
\#define {\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T32}~{\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G}
\item 
\#define {\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T64}~{\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G}
\item 
\#define {\bf R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T32}~({\bf A\+R\+G\+\_\+\+I\+N\+T32} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})
\item 
\#define {\bf R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T32}~({\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T32} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})
\item 
\#define {\bf R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T64}~({\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T64} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})
\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct {\bf arg\+\_\+s} {\bfseries arg\+\_\+t}\label{cmd__ln_8h_a7555950a1a9a65eee866083bd8ce4301}

\item 
typedef struct {\bf cmd\+\_\+ln\+\_\+s} {\bfseries cmd\+\_\+ln\+\_\+t}\label{cmd__ln_8h_a0c78d3d751be17a8c2d58ee81ae21182}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t} $\ast$ {\bf cmd\+\_\+ln\+\_\+init} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$inout\+\_\+cmdln, {\bf arg\+\_\+t} const $\ast$defn, int32 strict,...)
\begin{DoxyCompactList}\small\item\em Create a \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} from N\+U\+L\+L-\/terminated list of arguments. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t} $\ast$ {\bf cmd\+\_\+ln\+\_\+retain} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln)
\begin{DoxyCompactList}\small\item\em Retain ownership of a command-\/line argument set. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T int {\bf cmd\+\_\+ln\+\_\+free\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln)
\begin{DoxyCompactList}\small\item\em Release a command-\/line argument set and all associated strings. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t} $\ast$ {\bf cmd\+\_\+ln\+\_\+parse\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$inout\+\_\+cmdln, {\bf arg\+\_\+t} const $\ast$defn, int32 argc, char $\ast$argv[$\,$], int32 strict)
\begin{DoxyCompactList}\small\item\em Parse a list of strings into argumetns. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t} $\ast$ {\bf cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$inout\+\_\+cmdln, {\bf arg\+\_\+t} const $\ast$defn, char const $\ast$filename, int32 strict)
\begin{DoxyCompactList}\small\item\em Parse an arguments file by deliminating on \char`\"{} \textbackslash{}r\textbackslash{}t\textbackslash{}n\char`\"{} and putting each tokens into an argv[] for \doxyref{cmd\+\_\+ln\+\_\+parse()}{p.}{cmd__ln_8h_a42447819b47aab58ee53f4745244f7f7}. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf anytype\+\_\+t} $\ast$ {\bf cmd\+\_\+ln\+\_\+access\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name)\label{cmd__ln_8h_ac8d204103a24e39efefda608db8d81f7}

\begin{DoxyCompactList}\small\item\em Access the generic type union for a command line argument. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T char const $\ast$ {\bf cmd\+\_\+ln\+\_\+str\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name)
\begin{DoxyCompactList}\small\item\em Retrieve a string from a command-\/line object. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T char const $\ast$$\ast$ {\bf cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name)
\begin{DoxyCompactList}\small\item\em Retrieve an array of strings from a command-\/line object. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T long {\bf cmd\+\_\+ln\+\_\+int\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name)
\begin{DoxyCompactList}\small\item\em Retrieve an integer from a command-\/line object. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T double {\bf cmd\+\_\+ln\+\_\+float\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name)
\begin{DoxyCompactList}\small\item\em Retrieve a floating-\/point number from a command-\/line object. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void {\bf cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name, char const $\ast$str)
\begin{DoxyCompactList}\small\item\em Set a string in a command-\/line object. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void {\bf cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name, long iv)
\begin{DoxyCompactList}\small\item\em Set an integer in a command-\/line object. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void {\bf cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name, double fv)
\begin{DoxyCompactList}\small\item\em Set a floating-\/point number in a command-\/line object. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T int {\bf cmd\+\_\+ln\+\_\+exists\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, char const $\ast$name)
\begin{DoxyCompactList}\small\item\em Re-\/entrant version of \doxyref{cmd\+\_\+ln\+\_\+exists()}{p.}{cmd__ln_8h_a35020ed4f3aae151fc654dea22dda028}. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void {\bf cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r} ({\bf cmd\+\_\+ln\+\_\+t} $\ast$cmdln, F\+I\+L\+E $\ast$fp, const {\bf arg\+\_\+t} $\ast$defn)
\begin{DoxyCompactList}\small\item\em Print a help message listing the valid argument names, and the associated attributes as given in defn. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T int32 {\bf cmd\+\_\+ln\+\_\+parse} (const {\bf arg\+\_\+t} $\ast$defn, int32 argc, char $\ast$argv[$\,$], int32 strict)
\begin{DoxyCompactList}\small\item\em Non-\/reentrant version of \doxyref{cmd\+\_\+ln\+\_\+parse()}{p.}{cmd__ln_8h_a42447819b47aab58ee53f4745244f7f7}. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T int32 {\bf cmd\+\_\+ln\+\_\+parse\+\_\+file} (const {\bf arg\+\_\+t} $\ast$defn, char const $\ast$filename, int32 strict)
\begin{DoxyCompactList}\small\item\em Parse an arguments file by deliminating on \char`\"{} \textbackslash{}r\textbackslash{}t\textbackslash{}n\char`\"{} and putting each tokens into an argv[] for \doxyref{cmd\+\_\+ln\+\_\+parse()}{p.}{cmd__ln_8h_a42447819b47aab58ee53f4745244f7f7}. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void {\bf cmd\+\_\+ln\+\_\+appl\+\_\+enter} (int argc, char $\ast$argv[$\,$], char const $\ast$default\+\_\+argfn, const {\bf arg\+\_\+t} $\ast$defn)
\begin{DoxyCompactList}\small\item\em Old application initialization routine for Sphinx3 code. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void {\bf cmd\+\_\+ln\+\_\+appl\+\_\+exit} (void)
\begin{DoxyCompactList}\small\item\em Finalization routine corresponding to \doxyref{cmd\+\_\+ln\+\_\+appl\+\_\+enter()}{p.}{cmd__ln_8h_a7b06faa9f83eb8a2b045f8cfb6b67d36}. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t} $\ast$ {\bf cmd\+\_\+ln\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Retrieve the global \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} object used by non-\/re-\/entrant functions. \end{DoxyCompactList}\item 
S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void {\bf cmd\+\_\+ln\+\_\+free} (void)
\begin{DoxyCompactList}\small\item\em Free the global command line, if any exists. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Command-\/line and other configurationparsing and handling. 

Configuration parameters, optionally parsed from the command line. 

Definition in file {\bf cmd\+\_\+ln.\+h}.



\subsection{Macro Definition Documentation}
\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!A\+R\+G\+\_\+\+F\+L\+O\+A\+T32@{A\+R\+G\+\_\+\+F\+L\+O\+A\+T32}}
\index{A\+R\+G\+\_\+\+F\+L\+O\+A\+T32@{A\+R\+G\+\_\+\+F\+L\+O\+A\+T32}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{A\+R\+G\+\_\+\+F\+L\+O\+A\+T32}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+R\+G\+\_\+\+F\+L\+O\+A\+T32~{\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G}}\label{cmd__ln_8h_ad9b1952e4f1def9ee6a88791375b3901}
\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]Use A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G instead. \end{DoxyRefDesc}


Definition at line 148 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!A\+R\+G\+\_\+\+F\+L\+O\+A\+T64@{A\+R\+G\+\_\+\+F\+L\+O\+A\+T64}}
\index{A\+R\+G\+\_\+\+F\+L\+O\+A\+T64@{A\+R\+G\+\_\+\+F\+L\+O\+A\+T64}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{A\+R\+G\+\_\+\+F\+L\+O\+A\+T64}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+R\+G\+\_\+\+F\+L\+O\+A\+T64~{\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G}}\label{cmd__ln_8h_aceb617c8572cf5ad6257b35e6d8919e7}
\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]Use A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G instead. \end{DoxyRefDesc}


Definition at line 152 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!A\+R\+G\+\_\+\+I\+N\+T32@{A\+R\+G\+\_\+\+I\+N\+T32}}
\index{A\+R\+G\+\_\+\+I\+N\+T32@{A\+R\+G\+\_\+\+I\+N\+T32}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{A\+R\+G\+\_\+\+I\+N\+T32}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+R\+G\+\_\+\+I\+N\+T32~{\bf A\+R\+G\+\_\+\+I\+N\+T\+E\+G\+E\+R}}\label{cmd__ln_8h_a7ca1061dca6e8d4e7882bcefe1d15722}
\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]Use A\+R\+G\+\_\+\+I\+N\+T\+E\+G\+E\+R instead. \end{DoxyRefDesc}


Definition at line 144 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+access@{cmd\+\_\+ln\+\_\+access}}
\index{cmd\+\_\+ln\+\_\+access@{cmd\+\_\+ln\+\_\+access}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+access}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+access(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+access\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)}\label{cmd__ln_8h_aa332e626631dfa1b7d93267d1b2384ba}


Return a pointer to the previously parsed value for the given argument name. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+access\+\_\+r()}{p.}{cmd__ln_8h_ac8d204103a24e39efefda608db8d81f7}. \end{DoxyRefDesc}


Definition at line 481 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+boolean@{cmd\+\_\+ln\+\_\+boolean}}
\index{cmd\+\_\+ln\+\_\+boolean@{cmd\+\_\+ln\+\_\+boolean}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+boolean}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+boolean(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+boolean\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)}\label{cmd__ln_8h_a168e6f2cf367471406614a70d2b42ae8}


Retrieve a boolean from the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+boolean\+\_\+r()}{p.}{cmd__ln_8h_a159e691c95089689cf9a8f85a67830a6}. \end{DoxyRefDesc}


Definition at line 526 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+exists@{cmd\+\_\+ln\+\_\+exists}}
\index{cmd\+\_\+ln\+\_\+exists@{cmd\+\_\+ln\+\_\+exists}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+exists}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+exists(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+exists\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)}\label{cmd__ln_8h_a35020ed4f3aae151fc654dea22dda028}


Test the existence of a command-\/line argument in the global set of definitions. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+exists\+\_\+r()}{p.}{cmd__ln_8h_ab4ad5ae130e3c2c042590b41768635e3}.\end{DoxyRefDesc}


\begin{DoxyReturn}{Returns}
True if the command line argument exists (i.\+e. it was one of the arguments defined in the call to \doxyref{cmd\+\_\+ln\+\_\+parse()}{p.}{cmd__ln_8h_a42447819b47aab58ee53f4745244f7f7}. 
\end{DoxyReturn}


Definition at line 473 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+float32@{cmd\+\_\+ln\+\_\+float32}}
\index{cmd\+\_\+ln\+\_\+float32@{cmd\+\_\+ln\+\_\+float32}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+float32}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+float32(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~(float32){\bf cmd\+\_\+ln\+\_\+float\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)}\label{cmd__ln_8h_a95b9ea6b4ef4a6ae9718b7df5fffdde8}


Retrieve a 32-\/bit float from the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+float\+\_\+r()}{p.}{cmd__ln_8h_a2deca68514704cafbb7ec594b8ff38fe}. \end{DoxyRefDesc}


Definition at line 512 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+float64@{cmd\+\_\+ln\+\_\+float64}}
\index{cmd\+\_\+ln\+\_\+float64@{cmd\+\_\+ln\+\_\+float64}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+float64}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+float64(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~(float64){\bf cmd\+\_\+ln\+\_\+float\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)}\label{cmd__ln_8h_a3468b03e9089e4b9b4ccd5b9e4347a9c}


Retrieve a 64-\/bit float from the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+float\+\_\+r()}{p.}{cmd__ln_8h_a2deca68514704cafbb7ec594b8ff38fe}. \end{DoxyRefDesc}


Definition at line 519 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+int32@{cmd\+\_\+ln\+\_\+int32}}
\index{cmd\+\_\+ln\+\_\+int32@{cmd\+\_\+ln\+\_\+int32}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+int32}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+int32(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~(int32){\bf cmd\+\_\+ln\+\_\+int\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)}\label{cmd__ln_8h_ad3c5abaaeda4f3fd4462a24d41db7589}


Retrieve a 32-\/bit integer from the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+int\+\_\+r()}{p.}{cmd__ln_8h_a3bf86d597effc163148fddf14c0d117a}. \end{DoxyRefDesc}


Definition at line 505 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+print\+\_\+help@{cmd\+\_\+ln\+\_\+print\+\_\+help}}
\index{cmd\+\_\+ln\+\_\+print\+\_\+help@{cmd\+\_\+ln\+\_\+print\+\_\+help}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+print\+\_\+help}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+print\+\_\+help(
\begin{DoxyParamCaption}
\item[{}]{f, }
\item[{}]{d}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),f,d)}\label{cmd__ln_8h_aac4bb58af379a71fad4e1adc7fb4d476}


Print a help message listing the valid argument names, and the associated attributes as given in defn. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r()}{p.}{cmd__ln_8h_a103dabd597830caf65ec4ef3fdc71a1a}. \end{DoxyRefDesc}


Definition at line 571 of file cmd\+\_\+ln.\+h.



Referenced by cmd\+\_\+ln\+\_\+appl\+\_\+enter().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+set\+\_\+boolean@{cmd\+\_\+ln\+\_\+set\+\_\+boolean}}
\index{cmd\+\_\+ln\+\_\+set\+\_\+boolean@{cmd\+\_\+ln\+\_\+set\+\_\+boolean}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+set\+\_\+boolean}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+set\+\_\+boolean(
\begin{DoxyParamCaption}
\item[{}]{n, }
\item[{}]{b}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+boolean\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,b)}\label{cmd__ln_8h_aa6ee66099aca6807d03c70a9d3e5f2a3}


Set a boolean value in the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+set\+\_\+boolean\+\_\+r()}{p.}{cmd__ln_8h_ad4984b45985a6c5e2b231cf1f9b44fe4}. \end{DoxyRefDesc}


Definition at line 562 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+set\+\_\+float32@{cmd\+\_\+ln\+\_\+set\+\_\+float32}}
\index{cmd\+\_\+ln\+\_\+set\+\_\+float32@{cmd\+\_\+ln\+\_\+set\+\_\+float32}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+set\+\_\+float32}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+set\+\_\+float32(
\begin{DoxyParamCaption}
\item[{}]{n, }
\item[{}]{f}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,f)}\label{cmd__ln_8h_a2642012877117ba59dec59d5bfdbbed1}


Set a 32-\/bit float in the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r()}{p.}{cmd__ln_8h_a71c02d36c1db0c1d4e6349bd253d9b59}. \end{DoxyRefDesc}


Definition at line 548 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+set\+\_\+float64@{cmd\+\_\+ln\+\_\+set\+\_\+float64}}
\index{cmd\+\_\+ln\+\_\+set\+\_\+float64@{cmd\+\_\+ln\+\_\+set\+\_\+float64}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+set\+\_\+float64}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+set\+\_\+float64(
\begin{DoxyParamCaption}
\item[{}]{n, }
\item[{}]{f}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,f)}\label{cmd__ln_8h_ae9b20503ea67f45dc43312d13068a127}


Set a 64-\/bit float in the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r()}{p.}{cmd__ln_8h_a71c02d36c1db0c1d4e6349bd253d9b59}. \end{DoxyRefDesc}


Definition at line 555 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+set\+\_\+int32@{cmd\+\_\+ln\+\_\+set\+\_\+int32}}
\index{cmd\+\_\+ln\+\_\+set\+\_\+int32@{cmd\+\_\+ln\+\_\+set\+\_\+int32}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+set\+\_\+int32}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+set\+\_\+int32(
\begin{DoxyParamCaption}
\item[{}]{n, }
\item[{}]{i}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,i)}\label{cmd__ln_8h_ab63087898153823d7a7041669d60cfae}


Set a 32-\/bit integer value in the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r()}{p.}{cmd__ln_8h_afd5eef797f4786d7a1ddf4a64018cc7d}. \end{DoxyRefDesc}


Definition at line 541 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+set\+\_\+str@{cmd\+\_\+ln\+\_\+set\+\_\+str}}
\index{cmd\+\_\+ln\+\_\+set\+\_\+str@{cmd\+\_\+ln\+\_\+set\+\_\+str}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+set\+\_\+str}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+set\+\_\+str(
\begin{DoxyParamCaption}
\item[{}]{n, }
\item[{}]{s}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(),n,s)}\label{cmd__ln_8h_add9cb281562711418b6c795f5a6eb206}


Set a string in the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r()}{p.}{cmd__ln_8h_a3868b219fd3eaf64e902db38145c1c59}. \end{DoxyRefDesc}


Definition at line 534 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+str@{cmd\+\_\+ln\+\_\+str}}
\index{cmd\+\_\+ln\+\_\+str@{cmd\+\_\+ln\+\_\+str}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+str}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+str(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+str\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)}\label{cmd__ln_8h_ab5bd3d0b7f28a485411da21a5e3984b3}


Retrieve a string from the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+str\+\_\+r()}{p.}{cmd__ln_8h_af0aa15288e06fc8271298e4fa7cdc91a}. \end{DoxyRefDesc}


Definition at line 489 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+str\+\_\+list@{cmd\+\_\+ln\+\_\+str\+\_\+list}}
\index{cmd\+\_\+ln\+\_\+str\+\_\+list@{cmd\+\_\+ln\+\_\+str\+\_\+list}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+str\+\_\+list}]{\setlength{\rightskip}{0pt plus 5cm}\#define cmd\+\_\+ln\+\_\+str\+\_\+list(
\begin{DoxyParamCaption}
\item[{}]{name}
\end{DoxyParamCaption}
)~{\bf cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r}({\bf cmd\+\_\+ln\+\_\+get}(), name)}\label{cmd__ln_8h_a5061e894a4b65597c046a49b2c61f28b}


Retrieve an array of strings in the global command line. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r()}{p.}{cmd__ln_8h_a8ef7df4f5749b5517f3a655566104a10}. \end{DoxyRefDesc}


Definition at line 497 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T32@{R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T32}}
\index{R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T32@{R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T32}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T32}]{\setlength{\rightskip}{0pt plus 5cm}\#define R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T32~({\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T32} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})}\label{cmd__ln_8h_a46a5db6810b67a506c6074a76f003798}
\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]Use R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G instead. \end{DoxyRefDesc}


Definition at line 160 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T64@{R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T64}}
\index{R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T64@{R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T64}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T64}]{\setlength{\rightskip}{0pt plus 5cm}\#define R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T64~({\bf A\+R\+G\+\_\+\+F\+L\+O\+A\+T64} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})}\label{cmd__ln_8h_a501b468ee6e97644b9ca75e4bf9cd1a8}
\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]Use R\+E\+Q\+A\+R\+G\+\_\+\+F\+L\+O\+A\+T\+I\+N\+G instead. \end{DoxyRefDesc}


Definition at line 164 of file cmd\+\_\+ln.\+h.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T32@{R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T32}}
\index{R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T32@{R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T32}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T32}]{\setlength{\rightskip}{0pt plus 5cm}\#define R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T32~({\bf A\+R\+G\+\_\+\+I\+N\+T32} $\vert$ {\bf A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D})}\label{cmd__ln_8h_a49a6267bbca65099157aad7c2adc52b3}
\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]Use R\+E\+Q\+A\+R\+G\+\_\+\+I\+N\+T\+E\+G\+E\+R instead. \end{DoxyRefDesc}


Definition at line 156 of file cmd\+\_\+ln.\+h.



\subsection{Function Documentation}
\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+appl\+\_\+enter@{cmd\+\_\+ln\+\_\+appl\+\_\+enter}}
\index{cmd\+\_\+ln\+\_\+appl\+\_\+enter@{cmd\+\_\+ln\+\_\+appl\+\_\+enter}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+appl\+\_\+enter}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void cmd\+\_\+ln\+\_\+appl\+\_\+enter (
\begin{DoxyParamCaption}
\item[{int}]{argc, }
\item[{char $\ast$}]{argv[$\,$], }
\item[{char const $\ast$}]{default\+\_\+argfn, }
\item[{const {\bf arg\+\_\+t} $\ast$}]{defn}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a7b06faa9f83eb8a2b045f8cfb6b67d36}


Old application initialization routine for Sphinx3 code. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I. \end{DoxyRefDesc}

\begin{DoxyParams}{Parameters}
{\em argc} & In\+: Number of actual arguments \\
\hline
{\em argv} & In\+: Number of actual arguments \\
\hline
{\em default\+\_\+argfn} & In\+: default argument file name \\
\hline
{\em defn} & Command-\/line argument definition \\
\hline
\end{DoxyParams}


Definition at line 494 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+parse(), cmd\+\_\+ln\+\_\+parse\+\_\+file(), cmd\+\_\+ln\+\_\+print\+\_\+help, E\+\_\+\+I\+N\+F\+O, and E\+\_\+\+I\+N\+F\+O\+C\+O\+N\+T.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+appl\+\_\+exit@{cmd\+\_\+ln\+\_\+appl\+\_\+exit}}
\index{cmd\+\_\+ln\+\_\+appl\+\_\+exit@{cmd\+\_\+ln\+\_\+appl\+\_\+exit}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+appl\+\_\+exit}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void cmd\+\_\+ln\+\_\+appl\+\_\+exit (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a97d5edba5ad53d97a159ac8ab9234de7}


Finalization routine corresponding to \doxyref{cmd\+\_\+ln\+\_\+appl\+\_\+enter()}{p.}{cmd__ln_8h_a7b06faa9f83eb8a2b045f8cfb6b67d36}. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I. \end{DoxyRefDesc}


Definition at line 544 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+free().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+exists\+\_\+r@{cmd\+\_\+ln\+\_\+exists\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+exists\+\_\+r@{cmd\+\_\+ln\+\_\+exists\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+exists\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T int cmd\+\_\+ln\+\_\+exists\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{char const $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_ab4ad5ae130e3c2c042590b41768635e3}


Re-\/entrant version of \doxyref{cmd\+\_\+ln\+\_\+exists()}{p.}{cmd__ln_8h_a35020ed4f3aae151fc654dea22dda028}. 

\begin{DoxyReturn}{Returns}
True if the command line argument exists (i.\+e. it was one of the arguments defined in the call to \doxyref{cmd\+\_\+ln\+\_\+parse\+\_\+r()}{p.}{cmd__ln_8h_aa5a3a9e49198d8fd0dd3424fb880b6b6}. 
\end{DoxyReturn}


Definition at line 929 of file cmd\+\_\+ln.\+c.



References hash\+\_\+table\+\_\+lookup().



Referenced by cmd\+\_\+ln\+\_\+parse\+\_\+r(), and ngram\+\_\+model\+\_\+read().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+float\+\_\+r@{cmd\+\_\+ln\+\_\+float\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+float\+\_\+r@{cmd\+\_\+ln\+\_\+float\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+float\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T double cmd\+\_\+ln\+\_\+float\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{char const $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a2deca68514704cafbb7ec594b8ff38fe}


Retrieve a floating-\/point number from a command-\/line object. 


\begin{DoxyParams}{Parameters}
{\em cmdln} & Command-\/line object. \\
\hline
{\em name} & the command-\/line flag to retrieve. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the float value associated with {\ttfamily name}, or 0.\+0 if {\ttfamily name} does not exist. You must use \doxyref{cmd\+\_\+ln\+\_\+exists\+\_\+r()}{p.}{cmd__ln_8h_ab4ad5ae130e3c2c042590b41768635e3} to distinguish between cases where a value is legitimately zero and where the corresponding flag is unknown. 
\end{DoxyReturn}


Definition at line 979 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+access\+\_\+r().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+free@{cmd\+\_\+ln\+\_\+free}}
\index{cmd\+\_\+ln\+\_\+free@{cmd\+\_\+ln\+\_\+free}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void cmd\+\_\+ln\+\_\+free (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a439d3f832f92ae655f1028445aa91602}


Free the global command line, if any exists. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]Use the re-\/entrant A\+P\+I instead. \end{DoxyRefDesc}


Definition at line 1072 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+free\+\_\+r().



Referenced by cmd\+\_\+ln\+\_\+appl\+\_\+exit().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+free\+\_\+r@{cmd\+\_\+ln\+\_\+free\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+free\+\_\+r@{cmd\+\_\+ln\+\_\+free\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+free\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T int cmd\+\_\+ln\+\_\+free\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a26707fc85e87d8999e368a680e7873cd}


Release a command-\/line argument set and all associated strings. 

\begin{DoxyReturn}{Returns}
new reference count (0 if freed completely) 
\end{DoxyReturn}


Definition at line 1036 of file cmd\+\_\+ln.\+c.



References ckd\+\_\+free(), glist\+\_\+free(), gnode\+\_\+ptr, hash\+\_\+table\+\_\+free(), hash\+\_\+table\+\_\+tolist(), and hash\+\_\+entry\+\_\+s\+::val.



Referenced by cmd\+\_\+ln\+\_\+free(), and cmd\+\_\+ln\+\_\+parse\+\_\+r().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+get@{cmd\+\_\+ln\+\_\+get}}
\index{cmd\+\_\+ln\+\_\+get@{cmd\+\_\+ln\+\_\+get}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t}$\ast$ cmd\+\_\+ln\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a6e10003b5e86ec317c1b78c0655972af}


Retrieve the global \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} object used by non-\/re-\/entrant functions. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I. \begin{DoxyReturn}{Returns}
global \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} object. 
\end{DoxyReturn}
\end{DoxyRefDesc}


Definition at line 488 of file cmd\+\_\+ln.\+c.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+init@{cmd\+\_\+ln\+\_\+init}}
\index{cmd\+\_\+ln\+\_\+init@{cmd\+\_\+ln\+\_\+init}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+init}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t}$\ast$ cmd\+\_\+ln\+\_\+init (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{inout\+\_\+cmdln, }
\item[{{\bf arg\+\_\+t} const $\ast$}]{defn, }
\item[{int32}]{strict, }
\item[{}]{...}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_afdba0ab4dfe8a3ad9d49a6732bd62c42}


Create a \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} from N\+U\+L\+L-\/terminated list of arguments. 

This function creates a \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} from a N\+U\+L\+L-\/terminated list of argument strings. For example, to create the equivalent of passing \char`\"{}-\/hmm foodir -\/dsratio 2 -\/lm bar.\+lm\char`\"{} on the command-\/line\+:

config = cmd\+\_\+ln\+\_\+init(N\+U\+L\+L, defs, T\+R\+U\+E, \char`\"{}-\/hmm\char`\"{}, \char`\"{}foodir\char`\"{}, \char`\"{}-\/dsratio\char`\"{}, \char`\"{}2\char`\"{}, \char`\"{}-\/lm\char`\"{}, \char`\"{}bar.\+lm\char`\"{}, N\+U\+L\+L);

Note that for simplicity, {\bfseries all} arguments are passed as strings, regardless of the actual underlying type.


\begin{DoxyParams}{Parameters}
{\em inout\+\_\+cmdln} & Previous command-\/line to update, or N\+U\+L\+L to create a new one. \\
\hline
{\em defn} & Array of argument name definitions, or N\+U\+L\+L to allow any arguments. \\
\hline
{\em strict} & Whether to fail on duplicate or unknown arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A cmd\+\_\+ln\+\_\+t$\ast$ containing the results of command line parsing, or N\+U\+L\+L on failure. 
\end{DoxyReturn}


Definition at line 718 of file cmd\+\_\+ln.\+c.



References ckd\+\_\+calloc, ckd\+\_\+salloc, and E\+\_\+\+E\+R\+R\+O\+R.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+int\+\_\+r@{cmd\+\_\+ln\+\_\+int\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+int\+\_\+r@{cmd\+\_\+ln\+\_\+int\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+int\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T long cmd\+\_\+ln\+\_\+int\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{char const $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a3bf86d597effc163148fddf14c0d117a}


Retrieve an integer from a command-\/line object. 


\begin{DoxyParams}{Parameters}
{\em cmdln} & Command-\/line object. \\
\hline
{\em name} & the command-\/line flag to retrieve. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the integer value associated with {\ttfamily name}, or 0 if {\ttfamily name} does not exist. You must use \doxyref{cmd\+\_\+ln\+\_\+exists\+\_\+r()}{p.}{cmd__ln_8h_ab4ad5ae130e3c2c042590b41768635e3} to distinguish between cases where a value is legitimately zero and where the corresponding flag is unknown. 
\end{DoxyReturn}


Definition at line 969 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+access\+\_\+r().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+parse@{cmd\+\_\+ln\+\_\+parse}}
\index{cmd\+\_\+ln\+\_\+parse@{cmd\+\_\+ln\+\_\+parse}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+parse}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T int32 cmd\+\_\+ln\+\_\+parse (
\begin{DoxyParamCaption}
\item[{const {\bf arg\+\_\+t} $\ast$}]{defn, }
\item[{int32}]{argc, }
\item[{char $\ast$}]{argv[$\,$], }
\item[{int32}]{strict}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a42447819b47aab58ee53f4745244f7f7}


Non-\/reentrant version of \doxyref{cmd\+\_\+ln\+\_\+parse()}{p.}{cmd__ln_8h_a42447819b47aab58ee53f4745244f7f7}. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+parse\+\_\+r()}{p.}{cmd__ln_8h_aa5a3a9e49198d8fd0dd3424fb880b6b6}. \begin{DoxyReturn}{Returns}
0 if successful, $<$0 if error. 
\end{DoxyReturn}
\end{DoxyRefDesc}

\begin{DoxyParams}{Parameters}
{\em defn} & In\+: Array of argument name definitions \\
\hline
{\em argc} & In\+: Number of actual arguments \\
\hline
{\em argv} & In\+: Actual arguments \\
\hline
{\em strict} & In\+: Fail on duplicate or unknown arguments, or no arguments? \\
\hline
\end{DoxyParams}


Definition at line 755 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+parse\+\_\+r(), and E\+\_\+\+E\+R\+R\+O\+R.



Referenced by cmd\+\_\+ln\+\_\+appl\+\_\+enter().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+parse\+\_\+file@{cmd\+\_\+ln\+\_\+parse\+\_\+file}}
\index{cmd\+\_\+ln\+\_\+parse\+\_\+file@{cmd\+\_\+ln\+\_\+parse\+\_\+file}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+parse\+\_\+file}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T int32 cmd\+\_\+ln\+\_\+parse\+\_\+file (
\begin{DoxyParamCaption}
\item[{const {\bf arg\+\_\+t} $\ast$}]{defn, }
\item[{char const $\ast$}]{filename, }
\item[{int32}]{strict}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_ab7970c08288fae94d211a4252381bc61}


Parse an arguments file by deliminating on \char`\"{} \textbackslash{}r\textbackslash{}t\textbackslash{}n\char`\"{} and putting each tokens into an argv[] for \doxyref{cmd\+\_\+ln\+\_\+parse()}{p.}{cmd__ln_8h_a42447819b47aab58ee53f4745244f7f7}. 

\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]This is deprecated in favor of the re-\/entrant A\+P\+I function \doxyref{cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r()}{p.}{cmd__ln_8h_a57f54649952a07b8bef888af4e416550}.\end{DoxyRefDesc}


\begin{DoxyReturn}{Returns}
0 if successful, $<$0 on error. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em defn} & In\+: Array of argument name definitions \\
\hline
{\em filename} & In\+: A file that contains all the arguments \\
\hline
{\em strict} & In\+: Fail on duplicate or unknown arguments, or no arguments? \\
\hline
\end{DoxyParams}


Definition at line 903 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r().



Referenced by cmd\+\_\+ln\+\_\+appl\+\_\+enter().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r@{cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r@{cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t}$\ast$ cmd\+\_\+ln\+\_\+parse\+\_\+file\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{inout\+\_\+cmdln, }
\item[{{\bf arg\+\_\+t} const $\ast$}]{defn, }
\item[{char const $\ast$}]{filename, }
\item[{int32}]{strict}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a57f54649952a07b8bef888af4e416550}


Parse an arguments file by deliminating on \char`\"{} \textbackslash{}r\textbackslash{}t\textbackslash{}n\char`\"{} and putting each tokens into an argv[] for \doxyref{cmd\+\_\+ln\+\_\+parse()}{p.}{cmd__ln_8h_a42447819b47aab58ee53f4745244f7f7}. 

\begin{DoxyReturn}{Returns}
A \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} containing the results of command line parsing, or N\+U\+L\+L on failure. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em inout\+\_\+cmdln} & In/\+Out\+: Previous command-\/line to update, or N\+U\+L\+L to create a new one. \\
\hline
{\em defn} & In\+: Array of argument name definitions \\
\hline
{\em filename} & In\+: A file that contains all the arguments \\
\hline
{\em strict} & In\+: Fail on duplicate or unknown arguments, or no arguments? \\
\hline
\end{DoxyParams}


Definition at line 773 of file cmd\+\_\+ln.\+c.



References ckd\+\_\+calloc, ckd\+\_\+free(), ckd\+\_\+realloc, ckd\+\_\+salloc, E\+\_\+\+E\+R\+R\+O\+R, and E\+\_\+\+W\+A\+R\+N.



Referenced by cmd\+\_\+ln\+\_\+parse\+\_\+file().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+parse\+\_\+r@{cmd\+\_\+ln\+\_\+parse\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+parse\+\_\+r@{cmd\+\_\+ln\+\_\+parse\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+parse\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t}$\ast$ cmd\+\_\+ln\+\_\+parse\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{inout\+\_\+cmdln, }
\item[{{\bf arg\+\_\+t} const $\ast$}]{defn, }
\item[{int32}]{argc, }
\item[{char $\ast$}]{argv[$\,$], }
\item[{int32}]{strict}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_aa5a3a9e49198d8fd0dd3424fb880b6b6}


Parse a list of strings into argumetns. 

Parse the given list of arguments (name-\/value pairs) according to the given definitions. Argument values can be retrieved in future using \doxyref{cmd\+\_\+ln\+\_\+access()}{p.}{cmd__ln_8h_aa332e626631dfa1b7d93267d1b2384ba}. argv[0] is assumed to be the program name and skipped. Any unknown argument name causes a fatal error. The routine also prints the prevailing argument values (to stderr) after parsing.

\begin{DoxyNote}{Note}
It is currently assumed that the strings in argv are allocated statically, or at least that they will be valid as long as the \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} returned from this function. Unpredictable behaviour will result if they are freed or otherwise become invalidated.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
A \doxyref{cmd\+\_\+ln\+\_\+t}{p.}{structcmd__ln__t} containing the results of command line parsing, or N\+U\+L\+L on failure. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em inout\+\_\+cmdln} & In/\+Out\+: Previous command-\/line to update, or N\+U\+L\+L to create a new one. \\
\hline
{\em defn} & In\+: Array of argument name definitions \\
\hline
{\em argc} & In\+: Number of actual arguments \\
\hline
{\em argv} & In\+: Actual arguments \\
\hline
{\em strict} & In\+: Fail on duplicate or unknown arguments, or no arguments? \\
\hline
\end{DoxyParams}


Definition at line 551 of file cmd\+\_\+ln.\+c.



References A\+R\+G\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D, A\+R\+G\+\_\+\+S\+T\+R\+I\+N\+G, ckd\+\_\+calloc, cmd\+\_\+ln\+\_\+exists\+\_\+r(), cmd\+\_\+ln\+\_\+free\+\_\+r(), cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r(), cmd\+\_\+ln\+\_\+str\+\_\+r(), E\+\_\+\+E\+R\+R\+O\+R, E\+\_\+\+I\+N\+F\+O, E\+\_\+\+I\+N\+F\+O\+C\+O\+N\+T, err\+\_\+get\+\_\+logfp(), err\+\_\+set\+\_\+logfile(), hash\+\_\+table\+\_\+enter(), hash\+\_\+table\+\_\+free(), hash\+\_\+table\+\_\+lookup(), hash\+\_\+table\+\_\+new(), and hash\+\_\+table\+\_\+replace().



Referenced by cmd\+\_\+ln\+\_\+parse().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r@{cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r@{cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void cmd\+\_\+ln\+\_\+print\+\_\+help\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{F\+I\+L\+E $\ast$}]{fp, }
\item[{const {\bf arg\+\_\+t} $\ast$}]{defn}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a103dabd597830caf65ec4ef3fdc71a1a}


Print a help message listing the valid argument names, and the associated attributes as given in defn. 


\begin{DoxyParams}{Parameters}
{\em fp} & In\+: File to which to print \\
\hline
{\em defn} & In\+: Array of argument name definitions \\
\hline
\end{DoxyParams}


Definition at line 919 of file cmd\+\_\+ln.\+c.



Referenced by cmd\+\_\+ln\+\_\+parse\+\_\+r().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+retain@{cmd\+\_\+ln\+\_\+retain}}
\index{cmd\+\_\+ln\+\_\+retain@{cmd\+\_\+ln\+\_\+retain}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+retain}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T {\bf cmd\+\_\+ln\+\_\+t}$\ast$ cmd\+\_\+ln\+\_\+retain (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a975f5bf7b6f4fc95f426d1979281f73b}


Retain ownership of a command-\/line argument set. 

\begin{DoxyReturn}{Returns}
pointer to retained command-\/line argument set. 
\end{DoxyReturn}


Definition at line 1029 of file cmd\+\_\+ln.\+c.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r@{cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r@{cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void cmd\+\_\+ln\+\_\+set\+\_\+float\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{char const $\ast$}]{name, }
\item[{double}]{fv}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a71c02d36c1db0c1d4e6349bd253d9b59}


Set a floating-\/point number in a command-\/line object. 


\begin{DoxyParams}{Parameters}
{\em cmdln} & Command-\/line object. \\
\hline
{\em name} & The command-\/line flag to set. \\
\hline
{\em fv} & Integer value to set. \\
\hline
\end{DoxyParams}


Definition at line 1017 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+access\+\_\+r(), and E\+\_\+\+E\+R\+R\+O\+R.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r@{cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r@{cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void cmd\+\_\+ln\+\_\+set\+\_\+int\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{char const $\ast$}]{name, }
\item[{long}]{iv}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_afd5eef797f4786d7a1ddf4a64018cc7d}


Set an integer in a command-\/line object. 


\begin{DoxyParams}{Parameters}
{\em cmdln} & Command-\/line object. \\
\hline
{\em name} & The command-\/line flag to set. \\
\hline
{\em iv} & Integer value to set. \\
\hline
\end{DoxyParams}


Definition at line 1005 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+access\+\_\+r(), and E\+\_\+\+E\+R\+R\+O\+R.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r@{cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r@{cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T void cmd\+\_\+ln\+\_\+set\+\_\+str\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{char const $\ast$}]{name, }
\item[{char const $\ast$}]{str}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a3868b219fd3eaf64e902db38145c1c59}


Set a string in a command-\/line object. 


\begin{DoxyParams}{Parameters}
{\em cmdln} & Command-\/line object. \\
\hline
{\em name} & The command-\/line flag to set. \\
\hline
{\em str} & String value to set. The command-\/line object does not retain ownership of this pointer. \\
\hline
\end{DoxyParams}


Definition at line 989 of file cmd\+\_\+ln.\+c.



References ckd\+\_\+free(), ckd\+\_\+salloc, cmd\+\_\+ln\+\_\+access\+\_\+r(), and E\+\_\+\+E\+R\+R\+O\+R.

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r@{cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r@{cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T char const$\ast$$\ast$ cmd\+\_\+ln\+\_\+str\+\_\+list\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{char const $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_a8ef7df4f5749b5517f3a655566104a10}


Retrieve an array of strings from a command-\/line object. 

The command-\/line object retains ownership of this array, so you should not attempt to free it manually.


\begin{DoxyParams}{Parameters}
{\em cmdln} & Command-\/line object. \\
\hline
{\em name} & the command-\/line flag to retrieve. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the array of strings associated with {\ttfamily name}, or N\+U\+L\+L if {\ttfamily name} does not exist. You must use \doxyref{cmd\+\_\+ln\+\_\+exists\+\_\+r()}{p.}{cmd__ln_8h_ab4ad5ae130e3c2c042590b41768635e3} to distinguish between cases where a value is legitimately N\+U\+L\+L and where the corresponding flag is unknown. 
\end{DoxyReturn}


Definition at line 959 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+access\+\_\+r().

\index{cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}!cmd\+\_\+ln\+\_\+str\+\_\+r@{cmd\+\_\+ln\+\_\+str\+\_\+r}}
\index{cmd\+\_\+ln\+\_\+str\+\_\+r@{cmd\+\_\+ln\+\_\+str\+\_\+r}!cmd\+\_\+ln.\+h@{cmd\+\_\+ln.\+h}}
\subsubsection[{cmd\+\_\+ln\+\_\+str\+\_\+r}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+H\+I\+N\+X\+B\+A\+S\+E\+\_\+\+E\+X\+P\+O\+R\+T char const$\ast$ cmd\+\_\+ln\+\_\+str\+\_\+r (
\begin{DoxyParamCaption}
\item[{{\bf cmd\+\_\+ln\+\_\+t} $\ast$}]{cmdln, }
\item[{char const $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{cmd__ln_8h_af0aa15288e06fc8271298e4fa7cdc91a}


Retrieve a string from a command-\/line object. 

The command-\/line object retains ownership of this string, so you should not attempt to free it manually.


\begin{DoxyParams}{Parameters}
{\em cmdln} & Command-\/line object. \\
\hline
{\em name} & the command-\/line flag to retrieve. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the string value associated with {\ttfamily name}, or N\+U\+L\+L if {\ttfamily name} does not exist. You must use \doxyref{cmd\+\_\+ln\+\_\+exists\+\_\+r()}{p.}{cmd__ln_8h_ab4ad5ae130e3c2c042590b41768635e3} to distinguish between cases where a value is legitimately N\+U\+L\+L and where the corresponding flag is unknown. 
\end{DoxyReturn}


Definition at line 949 of file cmd\+\_\+ln.\+c.



References cmd\+\_\+ln\+\_\+access\+\_\+r().



Referenced by cmd\+\_\+ln\+\_\+parse\+\_\+r().

