cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

_s_d_l__visualtest__sut__configparser_8h.tex (13884B)


      1\hypertarget{_s_d_l__visualtest__sut__configparser_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.h File Reference}
      2\label{_s_d_l__visualtest__sut__configparser_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
      3}
      4\subsection*{Data Structures}
      5\begin{DoxyCompactItemize}
      6\item 
      7struct \hyperlink{struct_s_d_l_visual_test___s_u_t_int_range}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}
      8\item 
      9struct \hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}
     10\item 
     11struct \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}
     12\end{DoxyCompactItemize}
     13\subsection*{Macros}
     14\begin{DoxyCompactItemize}
     15\item 
     16\#define \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a0a8b0c1f8eee787abf09bf3a840eccc7}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}~100
     17\item 
     18\#define \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a21a678ced8cdf55b4cc70ad398bf33b6}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N}~40
     19\item 
     20\#define \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a6c700fc8ff02cfa0c795b9593f86b9a0}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N}~40
     21\item 
     22\#define \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a8f1a5749af5a592b30a194c72d848f75}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}~256
     23\end{DoxyCompactItemize}
     24\subsection*{Typedefs}
     25\begin{DoxyCompactItemize}
     26\item 
     27typedef struct \\*
     28\hyperlink{struct_s_d_l_visual_test___s_u_t_int_range}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range} \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a8cbe93330b2ce59cdf6da59e2eca6045}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}
     29\item 
     30typedef struct \\*
     31\hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a9f35b5fe1ce4ba831a9b9e1f2bc8b7f6}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}
     32\item 
     33typedef struct \\*
     34\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a1b493a40d601932b62ee643390aec169}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}
     35\end{DoxyCompactItemize}
     36\subsection*{Enumerations}
     37\begin{DoxyCompactItemize}
     38\item 
     39enum \hyperlink{_s_d_l__visualtest__sut__configparser_8h_af9893831d9f79360f57e84a67a90293c}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type} \{ {\bfseries S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-O\-P\-T\-I\-O\-N\-T\-Y\-P\-E\-\_\-\-S\-T\-R\-I\-N\-G} = 0, 
     40{\bfseries S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-O\-P\-T\-I\-O\-N\-T\-Y\-P\-E\-\_\-\-I\-N\-T}, 
     41{\bfseries S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-O\-P\-T\-I\-O\-N\-T\-Y\-P\-E\-\_\-\-E\-N\-U\-M}, 
     42{\bfseries S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-O\-P\-T\-I\-O\-N\-T\-Y\-P\-E\-\_\-\-B\-O\-O\-L}
     43 \}
     44\end{DoxyCompactItemize}
     45\subsection*{Functions}
     46\begin{DoxyCompactItemize}
     47\item 
     48int \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a8e178cd8a1f279f5d2cf908545e97544}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config} (char $\ast$file, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
     49\item 
     50void \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a1bddf9732c0d3ed1c24455d22193de9a}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config} (\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
     51\end{DoxyCompactItemize}
     52
     53
     54\subsection{Detailed Description}
     55Header for the parser for S\-U\-T config files. 
     56
     57\subsection{Macro Definition Documentation}
     58\hypertarget{_s_d_l__visualtest__sut__configparser_8h_a21a678ced8cdf55b4cc70ad398bf33b6}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N}}
     59\index{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     60\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N~40}}\label{_s_d_l__visualtest__sut__configparser_8h_a21a678ced8cdf55b4cc70ad398bf33b6}
     61Maximum length of the name of a category of an S\-U\-T option \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a6c700fc8ff02cfa0c795b9593f86b9a0}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N}}
     62\index{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     63\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N~40}}\label{_s_d_l__visualtest__sut__configparser_8h_a6c700fc8ff02cfa0c795b9593f86b9a0}
     64Maximum length of one enum value of an S\-U\-T option \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a8f1a5749af5a592b30a194c72d848f75}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}}
     65\index{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     66\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H~256}}\label{_s_d_l__visualtest__sut__configparser_8h_a8f1a5749af5a592b30a194c72d848f75}
     67Maximum length of a line in the paramters file \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a0a8b0c1f8eee787abf09bf3a840eccc7}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}}
     68\index{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     69\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N~100}}\label{_s_d_l__visualtest__sut__configparser_8h_a0a8b0c1f8eee787abf09bf3a840eccc7}
     70Maximum length of the name of an S\-U\-T option 
     71
     72\subsection{Typedef Documentation}
     73\hypertarget{_s_d_l__visualtest__sut__configparser_8h_a1b493a40d601932b62ee643390aec169}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}}
     74\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     75\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}  {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}}}\label{_s_d_l__visualtest__sut__configparser_8h_a1b493a40d601932b62ee643390aec169}
     76Struct to hold all the options to an S\-U\-T application. \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a8cbe93330b2ce59cdf6da59e2eca6045}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}}
     77\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     78\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}  {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}}}\label{_s_d_l__visualtest__sut__configparser_8h_a8cbe93330b2ce59cdf6da59e2eca6045}
     79Represents the range of values an integer option can take. \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a9f35b5fe1ce4ba831a9b9e1f2bc8b7f6}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
     80\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     81\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}  {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}}\label{_s_d_l__visualtest__sut__configparser_8h_a9f35b5fe1ce4ba831a9b9e1f2bc8b7f6}
     82Struct that defines an option to be passed to the S\-U\-T. 
     83
     84\subsection{Enumeration Type Documentation}
     85\hypertarget{_s_d_l__visualtest__sut__configparser_8h_af9893831d9f79360f57e84a67a90293c}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type}}
     86\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     87\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type}}}\label{_s_d_l__visualtest__sut__configparser_8h_af9893831d9f79360f57e84a67a90293c}
     88Describes the different kinds of options to the S\-U\-T. 
     89
     90\subsection{Function Documentation}
     91\hypertarget{_s_d_l__visualtest__sut__configparser_8h_a1bddf9732c0d3ed1c24455d22193de9a}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}}
     92\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
     93\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config (
     94\begin{DoxyParamCaption}
     95\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
     96\end{DoxyParamCaption}
     97)}}\label{_s_d_l__visualtest__sut__configparser_8h_a1bddf9732c0d3ed1c24455d22193de9a}
     98Free any resources associated with the config object pointed to by {\ttfamily config}. \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a8e178cd8a1f279f5d2cf908545e97544}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}}
     99\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
    100\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config (
    101\begin{DoxyParamCaption}
    102\item[{char $\ast$}]{file, }
    103\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
    104\end{DoxyParamCaption}
    105)}}\label{_s_d_l__visualtest__sut__configparser_8h_a8e178cd8a1f279f5d2cf908545e97544}
    106Parses a configuration file that describes the command line options an S\-U\-T application will take and populates a S\-U\-T config object. All lines in the config file must be smaller than
    107
    108
    109\begin{DoxyParams}{Parameters}
    110{\em file} & Path to the configuration file. \\
    111\hline
    112{\em config} & Pointer to an object that represents an S\-U\-T configuration.\\
    113\hline
    114\end{DoxyParams}
    115\begin{DoxyReturn}{Returns}
    116zero on failure, non-\/zero on success 
    117\end{DoxyReturn}