\hypertarget{group__mysql}{
\section{Manage alerts on a MySQL database}
\label{group__mysql}\index{Manage alerts on a MySQL database@{Manage alerts on a MySQL database}}
}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void $\ast$ \hyperlink{group__mysql_gadf275635641f88725930de208fb5523f}{AI\_\-mysql\_\-alertparser\_\-thread} (void $\ast$arg)
\begin{DoxyCompactList}\small\item\em Thread for parsing alerts from MySQL database. \item\end{DoxyCompactList}\item 
PRIVATE \hyperlink{struct__AI__snort__alert}{AI\_\-snort\_\-alert} $\ast$ \hyperlink{group__mysql_gab14c269b1187da75d35d4af3eb70a302}{\_\-AI\_\-mysql\_\-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__mysql_ga0ead3c1e46063e215168e76d7999d65b}{AI\_\-mysql\_\-get\_\-alerts} ()
\begin{DoxyCompactList}\small\item\em Return the alerts parsed so far as a linked list. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
PRIVATE \hyperlink{structAI__config}{AI\_\-config} $\ast$ \hyperlink{group__mysql_ga6439d32dccbbc77c9b2aad04897bfa74}{config}
\item 
PRIVATE \hyperlink{struct__AI__snort__alert}{AI\_\-snort\_\-alert} $\ast$ \hyperlink{group__mysql_gae837fc04e61c0eb052f997c54b4fd9fe}{alerts} = NULL
\item 
PRIVATE pthread\_\-mutex\_\-t \hyperlink{group__mysql_ga40bb4c7d0679e36cc0ec4fa41d36d96c}{db\_\-mutex} = PTHREAD\_\-MUTEX\_\-INITIALIZER
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{group__mysql_gab14c269b1187da75d35d4af3eb70a302}{
\index{mysql@{mysql}!\_\-AI\_\-mysql\_\-copy\_\-alerts@{\_\-AI\_\-mysql\_\-copy\_\-alerts}}
\index{\_\-AI\_\-mysql\_\-copy\_\-alerts@{\_\-AI\_\-mysql\_\-copy\_\-alerts}!mysql@{mysql}}
\subsubsection[{\_\-AI\_\-mysql\_\-copy\_\-alerts}]{\setlength{\rightskip}{0pt plus 5cm}PRIVATE {\bf AI\_\-snort\_\-alert}$\ast$ \_\-AI\_\-mysql\_\-copy\_\-alerts (
\begin{DoxyParamCaption}
\item[{{\bf AI\_\-snort\_\-alert} $\ast$}]{ node}
\end{DoxyParamCaption}
)}}
\label{group__mysql_gab14c269b1187da75d35d4af3eb70a302}


Create a copy of the alert log struct (this is done for leaving the alert log structure in this file as read-\/only). 


\begin{DoxyParams}{Parameters}
\item[{\em node}]Starting node (used for the recursion) \end{DoxyParams}
\begin{DoxyReturn}{Returns}
A copy of the alert log linked list 
\end{DoxyReturn}
\hypertarget{group__mysql_gadf275635641f88725930de208fb5523f}{
\index{mysql@{mysql}!AI\_\-mysql\_\-alertparser\_\-thread@{AI\_\-mysql\_\-alertparser\_\-thread}}
\index{AI\_\-mysql\_\-alertparser\_\-thread@{AI\_\-mysql\_\-alertparser\_\-thread}!mysql@{mysql}}
\subsubsection[{AI\_\-mysql\_\-alertparser\_\-thread}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ AI\_\-mysql\_\-alertparser\_\-thread (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{ arg}
\end{DoxyParamCaption}
)}}
\label{group__mysql_gadf275635641f88725930de208fb5523f}


Thread for parsing alerts from MySQL database. 


\begin{DoxyParams}{Parameters}
\item[{\em arg}]void$\ast$ pointer to the module configuration \end{DoxyParams}
\hypertarget{group__mysql_ga0ead3c1e46063e215168e76d7999d65b}{
\index{mysql@{mysql}!AI\_\-mysql\_\-get\_\-alerts@{AI\_\-mysql\_\-get\_\-alerts}}
\index{AI\_\-mysql\_\-get\_\-alerts@{AI\_\-mysql\_\-get\_\-alerts}!mysql@{mysql}}
\subsubsection[{AI\_\-mysql\_\-get\_\-alerts}]{\setlength{\rightskip}{0pt plus 5cm}{\bf AI\_\-snort\_\-alert}$\ast$ AI\_\-mysql\_\-get\_\-alerts (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{group__mysql_ga0ead3c1e46063e215168e76d7999d65b}


Return the alerts parsed so far as a linked list. 

\begin{DoxyReturn}{Returns}
An AI\_\-snort\_\-alert pointer identifying the list of alerts 
\end{DoxyReturn}


\subsection{Variable Documentation}
\hypertarget{group__mysql_gae837fc04e61c0eb052f997c54b4fd9fe}{
\index{mysql@{mysql}!alerts@{alerts}}
\index{alerts@{alerts}!mysql@{mysql}}
\subsubsection[{alerts}]{\setlength{\rightskip}{0pt plus 5cm}PRIVATE {\bf AI\_\-snort\_\-alert}$\ast$ {\bf alerts} = NULL}}
\label{group__mysql_gae837fc04e61c0eb052f997c54b4fd9fe}
\hypertarget{group__mysql_ga6439d32dccbbc77c9b2aad04897bfa74}{
\index{mysql@{mysql}!config@{config}}
\index{config@{config}!mysql@{mysql}}
\subsubsection[{config}]{\setlength{\rightskip}{0pt plus 5cm}PRIVATE {\bf AI\_\-config}$\ast$ {\bf config}}}
\label{group__mysql_ga6439d32dccbbc77c9b2aad04897bfa74}
\hypertarget{group__mysql_ga40bb4c7d0679e36cc0ec4fa41d36d96c}{
\index{mysql@{mysql}!db\_\-mutex@{db\_\-mutex}}
\index{db\_\-mutex@{db\_\-mutex}!mysql@{mysql}}
\subsubsection[{db\_\-mutex}]{\setlength{\rightskip}{0pt plus 5cm}PRIVATE pthread\_\-mutex\_\-t {\bf db\_\-mutex} = PTHREAD\_\-MUTEX\_\-INITIALIZER}}
\label{group__mysql_ga40bb4c7d0679e36cc0ec4fa41d36d96c}
pthread mutex for accessing database data 