\hypertarget{alert__parser_8c}{ \section{alert\_\-parser.c File Reference} \label{alert__parser_8c}\index{alert\_\-parser.c@{alert\_\-parser.c}} } {\ttfamily \#include \char`\"{}spp\_\-ai.h\char`\"{}}\par {\ttfamily \#include $<$stdio.h$>$}\par {\ttfamily \#include $<$unistd.h$>$}\par {\ttfamily \#include $<$time.h$>$}\par {\ttfamily \#include $<$sys/inotify.h$>$}\par {\ttfamily \#include $<$sys/stat.h$>$}\par {\ttfamily \#include $<$pthread.h$>$}\par \subsection*{Functions} \begin{DoxyCompactItemize} \item void $\ast$ \hyperlink{group__alert__parser_ga5aab8d9bdf0e92a51731442fd787f61f}{AI\_\-file\_\-alertparser\_\-thread} (void $\ast$arg) \begin{DoxyCompactList}\small\item\em Thread for parsing Snort's alert file. \item\end{DoxyCompactList}\item PRIVATE \hyperlink{struct__AI__snort__alert}{AI\_\-snort\_\-alert} $\ast$ \hyperlink{group__alert__parser_ga6c5014cae9155379fdc4db649b2c862d}{\_\-AI\_\-copy\_\-alerts} (\hyperlink{struct__AI__snort__alert}{AI\_\-snort\_\-alert} $\ast$node) \begin{DoxyCompactList}\small\item\em Create a copy of the alert log struct (this is done for leaving the alert log structure in this file as read-\/only). \item\end{DoxyCompactList}\item \hyperlink{struct__AI__snort__alert}{AI\_\-snort\_\-alert} $\ast$ \hyperlink{group__alert__parser_ga99474495643197b3075ac22ec6f6c70f}{AI\_\-get\_\-alerts} () \begin{DoxyCompactList}\small\item\em Return the alerts parsed so far as a linked list. \item\end{DoxyCompactList}\item void \hyperlink{group__alert__parser_ga270e86669a0aa64a8da37bc16cda645b}{AI\_\-free\_\-alerts} (\hyperlink{struct__AI__snort__alert}{AI\_\-snort\_\-alert} $\ast$node) \begin{DoxyCompactList}\small\item\em Deallocate the memory of a log alert linked list. \item\end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item PRIVATE \hyperlink{struct__AI__snort__alert}{AI\_\-snort\_\-alert} $\ast$ \hyperlink{alert__parser_8c_ae837fc04e61c0eb052f997c54b4fd9fe}{alerts} = NULL \item PRIVATE FILE $\ast$ \hyperlink{alert__parser_8c_abee2a33368912d9288c76b51160a9ed6}{alert\_\-fp} = NULL \item PRIVATE \hyperlink{spp__ai_8h_a3e5b8192e7d9ffaf3542f1210aec18dd}{BOOL} \hyperlink{alert__parser_8c_afebc81c042a632dc987e113b7f390274}{lock\_\-flag} = false \end{DoxyCompactItemize} \subsection{Variable Documentation} \hypertarget{alert__parser_8c_abee2a33368912d9288c76b51160a9ed6}{ \index{alert\_\-parser.c@{alert\_\-parser.c}!alert\_\-fp@{alert\_\-fp}} \index{alert\_\-fp@{alert\_\-fp}!alert_parser.c@{alert\_\-parser.c}} \subsubsection[{alert\_\-fp}]{\setlength{\rightskip}{0pt plus 5cm}PRIVATE FILE$\ast$ {\bf alert\_\-fp} = NULL}} \label{alert__parser_8c_abee2a33368912d9288c76b51160a9ed6} \hypertarget{alert__parser_8c_ae837fc04e61c0eb052f997c54b4fd9fe}{ \index{alert\_\-parser.c@{alert\_\-parser.c}!alerts@{alerts}} \index{alerts@{alerts}!alert_parser.c@{alert\_\-parser.c}} \subsubsection[{alerts}]{\setlength{\rightskip}{0pt plus 5cm}PRIVATE {\bf AI\_\-snort\_\-alert}$\ast$ {\bf alerts} = NULL}} \label{alert__parser_8c_ae837fc04e61c0eb052f997c54b4fd9fe} \hypertarget{alert__parser_8c_afebc81c042a632dc987e113b7f390274}{ \index{alert\_\-parser.c@{alert\_\-parser.c}!lock\_\-flag@{lock\_\-flag}} \index{lock\_\-flag@{lock\_\-flag}!alert_parser.c@{alert\_\-parser.c}} \subsubsection[{lock\_\-flag}]{\setlength{\rightskip}{0pt plus 5cm}PRIVATE {\bf BOOL} {\bf lock\_\-flag} = false}} \label{alert__parser_8c_afebc81c042a632dc987e113b7f390274}