\section{Core functionality}
\label{group__core}\index{Core functionality@{Core functionality}}
\subsection*{Functions}
\begin{CompactItemize}
\item 
{\bf discover\_\-error\_\-t} $\ast$ {\bf discover\_\-error\_\-new} (void)
\item 
void $\ast$ {\bf \_\-discover\_\-create\_\-message} ({\bf discover\_\-error\_\-t} $\ast$$\ast$status, char $\ast$message)
\item 
void {\bf discover\_\-error\_\-free} ({\bf discover\_\-error\_\-t} $\ast$status)
\item 
char $\ast$ {\bf discover\_\-strerror} ({\bf discover\_\-error\_\-t} $\ast$err)
\item 
int {\bf discover\_\-major\_\-version} (void)
\item 
int {\bf discover\_\-minor\_\-version} (void)
\item 
int {\bf discover\_\-micro\_\-version} (void)
\end{CompactItemize}


\subsection{Function Documentation}
\index{core@{core}!_discover_create_message@{\_\-discover\_\-create\_\-message}}
\index{_discover_create_message@{\_\-discover\_\-create\_\-message}!core@{core}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ \_\-discover\_\-create\_\-message ({\bf discover\_\-error\_\-t} $\ast$$\ast$ {\em status}, char $\ast$ {\em message})}\label{group__core_ga1}


Allocate memory for a char $\ast$ variable. This routine was written for discover\_\-error\_\-t struct. 

Definition at line 82 of file core.c.

Referenced by discover\_\-error\_\-new().\index{core@{core}!discover_error_free@{discover\_\-error\_\-free}}
\index{discover_error_free@{discover\_\-error\_\-free}!core@{core}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void discover\_\-error\_\-free ({\bf discover\_\-error\_\-t} $\ast$ {\em status})}\label{group__core_ga2}


Free a discover\_\-error\_\-t structure. 

Definition at line 95 of file core.c.

References discover\_\-error::message.\index{core@{core}!discover_error_new@{discover\_\-error\_\-new}}
\index{discover_error_new@{discover\_\-error\_\-new}!core@{core}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf discover\_\-error\_\-t}$\ast$ discover\_\-error\_\-new (void)}\label{group__core_ga0}


Allocate and initialize a discover\_\-error\_\-t structure. 

Definition at line 68 of file core.c.

References \_\-discover\_\-create\_\-message(), discover\_\-error::code, discover\_\-error::create\_\-message, and discover\_\-error::message.\index{core@{core}!discover_major_version@{discover\_\-major\_\-version}}
\index{discover_major_version@{discover\_\-major\_\-version}!core@{core}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int discover\_\-major\_\-version (void)}\label{group__core_ga4}


Get the major version number. 

Definition at line 124 of file core.c.\index{core@{core}!discover_micro_version@{discover\_\-micro\_\-version}}
\index{discover_micro_version@{discover\_\-micro\_\-version}!core@{core}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int discover\_\-micro\_\-version (void)}\label{group__core_ga6}


Get the micro version number. 

Definition at line 142 of file core.c.\index{core@{core}!discover_minor_version@{discover\_\-minor\_\-version}}
\index{discover_minor_version@{discover\_\-minor\_\-version}!core@{core}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int discover\_\-minor\_\-version (void)}\label{group__core_ga5}


Get the minor version number. 

Definition at line 133 of file core.c.\index{core@{core}!discover_strerror@{discover\_\-strerror}}
\index{discover_strerror@{discover\_\-strerror}!core@{core}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ discover\_\-strerror ({\bf discover\_\-error\_\-t} $\ast$ {\em err})}\label{group__core_ga3}


Convert an error code to a human-readable string localized according to the current locale (XXX: no i18n yet).

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em err}]Error code to convert \end{description}
\end{Desc}


Definition at line 111 of file core.c.

References discover\_\-error::code.