\section{Types}
\label{group__types}\index{Types@{Types}}
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct {\bf discover\_\-error}
\item 
struct {\bf discover\_\-bus\_\-map}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define {\bf BUS\_\-COUNT}~5
\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef void $\ast$( {\bf discover\_\-create\_\-message\_\-t} )(struct {\bf discover\_\-error} $\ast$$\ast$, char $\ast$)
\item 
typedef {\bf discover\_\-error} {\bf discover\_\-error\_\-t}
\item 
typedef {\bf discover\_\-bus\_\-map} {\bf discover\_\-bus\_\-map\_\-t}
\item 
typedef discover\_\-device {\bf discover\_\-device\_\-t}
\item 
typedef discover\_\-data {\bf discover\_\-data\_\-t}
\item 
typedef discover\_\-xml\_\-busclass {\bf discover\_\-xml\_\-busclass\_\-t}
\item 
typedef discover\_\-xml\_\-vendor {\bf discover\_\-xml\_\-vendor\_\-t}
\item 
typedef discover\_\-xml\_\-url {\bf discover\_\-xml\_\-url\_\-t}
\item 
typedef {\bf discover\_\-device\_\-t} $\ast$( {\bf discover\_\-device\_\-func\_\-t} )({\bf discover\_\-error\_\-t} $\ast$)
\item 
typedef {\bf discover\_\-xml\_\-busclass\_\-t} $\ast$( {\bf discover\_\-xml\_\-busclass\_\-func\_\-t} )({\bf discover\_\-error\_\-t} $\ast$)
\item 
typedef {\bf discover\_\-xml\_\-vendor\_\-t} $\ast$( {\bf discover\_\-xml\_\-vendor\_\-func\_\-t} )({\bf discover\_\-error\_\-t} $\ast$)
\item 
typedef {\bf discover\_\-xml\_\-url\_\-t} $\ast$( {\bf discover\_\-xml\_\-url\_\-func\_\-t} )({\bf discover\_\-error\_\-t} $\ast$)
\item 
typedef void( {\bf discover\_\-free\_\-func\_\-t} )(void)
\item 
typedef {\bf discover\_\-sysdep\_\-data\_\-t} $\ast$( {\bf discover\_\-sysdep\_\-raw\_\-func\_\-t} )(void)
\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum {\bf discover\_\-error\_\-code\_\-t} \{ \par
{\bf DISCOVER\_\-SUCCESS}, 
{\bf DISCOVER\_\-EIO}, 
{\bf DISCOVER\_\-EXML}, 
{\bf DISCOVER\_\-ESYS}, 
\par
{\bf DISCOVER\_\-EBUSDISABLED}, 
{\bf DISCOVER\_\-EBUSNOTFOUND}, 
{\bf DISCOVER\_\-EDATANOTFOUND}, 
{\bf DISCOVER\_\-EDEVICENOTFOUND}, 
\par
{\bf DISCOVER\_\-EBADVERSION}, 
{\bf DISCOVER\_\-ENOIMPL}
 \}
\item 
enum {\bf discover\_\-bus\_\-t} \{ \par
{\bf ATA}, 
{\bf PCI}, 
{\bf PCMCIA}, 
{\bf SCSI}, 
\par
{\bf USB}
 \}
\item 
enum {\bf discover\_\-filetype\_\-t} \{ {\bf VENDOR\_\-TYPE}, 
{\bf BUSCLASS\_\-TYPE}, 
{\bf DEVICE\_\-TYPE}
 \}
\end{CompactItemize}


\subsection{Define Documentation}
\index{types@{types}!BUS_COUNT@{BUS\_\-COUNT}}
\index{BUS_COUNT@{BUS\_\-COUNT}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define BUS\_\-COUNT~5}\label{group__types_ga14}


Number of buses we support 

Definition at line 157 of file discover.h.

Referenced by \_\-real\_\-discover\_\-conf\_\-get\_\-bus\_\-map(), discover\_\-conf\_\-get\_\-bus\_\-map(), discover\_\-conf\_\-get\_\-bus\_\-name(), discover\_\-free\_\-devices(), discover\_\-xml\_\-free\_\-busclasses(), discover\_\-xml\_\-free\_\-data\_\-urls(), discover\_\-xml\_\-free\_\-devices(), and discover\_\-xml\_\-free\_\-vendors().

\subsection{Typedef Documentation}
\index{types@{types}!discover_bus_map_t@{discover\_\-bus\_\-map\_\-t}}
\index{discover_bus_map_t@{discover\_\-bus\_\-map\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf discover\_\-bus\_\-map} {\bf discover\_\-bus\_\-map\_\-t}}\label{group__types_ga2}


Mapping of bus names to functions 

Definition at line 116 of file discover.h.\index{types@{types}!discover_create_message_t@{discover\_\-create\_\-message\_\-t}}
\index{discover_create_message_t@{discover\_\-create\_\-message\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef void$\ast$( {\bf discover\_\-create\_\-message\_\-t})(struct {\bf discover\_\-error} $\ast$$\ast$, char $\ast$)}\label{group__types_ga0}


Signature of functions that assist with creating message strings 

Definition at line 99 of file discover.h.\index{types@{types}!discover_data_t@{discover\_\-data\_\-t}}
\index{discover_data_t@{discover\_\-data\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct discover\_\-data {\bf discover\_\-data\_\-t}}\label{group__types_ga4}


Data element from the device XML files 

Definition at line 120 of file discover.h.\index{types@{types}!discover_device_func_t@{discover\_\-device\_\-func\_\-t}}
\index{discover_device_func_t@{discover\_\-device\_\-func\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf discover\_\-device\_\-t}$\ast$( {\bf discover\_\-device\_\-func\_\-t})({\bf discover\_\-error\_\-t} $\ast$)}\label{group__types_ga8}


Signature of functions returning discover\_\-device\_\-t structures 

Definition at line 129 of file discover.h.\index{types@{types}!discover_device_t@{discover\_\-device\_\-t}}
\index{discover_device_t@{discover\_\-device\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct discover\_\-device {\bf discover\_\-device\_\-t}}\label{group__types_ga3}


Structure describing a device 

Definition at line 118 of file discover.h.\index{types@{types}!discover_error_t@{discover\_\-error\_\-t}}
\index{discover_error_t@{discover\_\-error\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf discover\_\-error}  {\bf discover\_\-error\_\-t}}\label{group__types_ga1}


All functions that perform some action (as opposed to returning a member of a structure, for example) take an argument of this type. It is used to report that the action succeeded, or why it failed. \index{types@{types}!discover_free_func_t@{discover\_\-free\_\-func\_\-t}}
\index{discover_free_func_t@{discover\_\-free\_\-func\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef void( {\bf discover\_\-free\_\-func\_\-t})(void)}\label{group__types_ga12}


Signature of functions that free internal lists 

Definition at line 137 of file discover.h.\index{types@{types}!discover_sysdep_raw_func_t@{discover\_\-sysdep\_\-raw\_\-func\_\-t}}
\index{discover_sysdep_raw_func_t@{discover\_\-sysdep\_\-raw\_\-func\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf discover\_\-sysdep\_\-data\_\-t}$\ast$( {\bf discover\_\-sysdep\_\-raw\_\-func\_\-t})(void)}\label{group__types_ga13}


Signature of functions that return sysdep\_\-data\_\-t lists 

Definition at line 141 of file discover.h.\index{types@{types}!discover_xml_busclass_func_t@{discover\_\-xml\_\-busclass\_\-func\_\-t}}
\index{discover_xml_busclass_func_t@{discover\_\-xml\_\-busclass\_\-func\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf discover\_\-xml\_\-busclass\_\-t}$\ast$( {\bf discover\_\-xml\_\-busclass\_\-func\_\-t})({\bf discover\_\-error\_\-t} $\ast$)}\label{group__types_ga9}


Signature of functions returning discover\_\-xml\_\-busclass\_\-t structures 

Definition at line 131 of file discover.h.\index{types@{types}!discover_xml_busclass_t@{discover\_\-xml\_\-busclass\_\-t}}
\index{discover_xml_busclass_t@{discover\_\-xml\_\-busclass\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct discover\_\-xml\_\-busclass {\bf discover\_\-xml\_\-busclass\_\-t}}\label{group__types_ga5}


Structure for mapping Discover device types to bus-specific classes 

Definition at line 122 of file discover.h.\index{types@{types}!discover_xml_url_func_t@{discover\_\-xml\_\-url\_\-func\_\-t}}
\index{discover_xml_url_func_t@{discover\_\-xml\_\-url\_\-func\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf discover\_\-xml\_\-url\_\-t}$\ast$( {\bf discover\_\-xml\_\-url\_\-func\_\-t})({\bf discover\_\-error\_\-t} $\ast$)}\label{group__types_ga11}


Signature of functions returning discover\_\-xml\_\-url\_\-t structures 

Definition at line 135 of file discover.h.\index{types@{types}!discover_xml_url_t@{discover\_\-xml\_\-url\_\-t}}
\index{discover_xml_url_t@{discover\_\-xml\_\-url\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct discover\_\-xml\_\-url {\bf discover\_\-xml\_\-url\_\-t}}\label{group__types_ga7}


Structure describing a URL where XML data can be found 

Definition at line 126 of file discover.h.\index{types@{types}!discover_xml_vendor_func_t@{discover\_\-xml\_\-vendor\_\-func\_\-t}}
\index{discover_xml_vendor_func_t@{discover\_\-xml\_\-vendor\_\-func\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf discover\_\-xml\_\-vendor\_\-t}$\ast$( {\bf discover\_\-xml\_\-vendor\_\-func\_\-t})({\bf discover\_\-error\_\-t} $\ast$)}\label{group__types_ga10}


Signature of functions returning discover\_\-xml\_\-vendor\_\-t structures 

Definition at line 133 of file discover.h.\index{types@{types}!discover_xml_vendor_t@{discover\_\-xml\_\-vendor\_\-t}}
\index{discover_xml_vendor_t@{discover\_\-xml\_\-vendor\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct discover\_\-xml\_\-vendor {\bf discover\_\-xml\_\-vendor\_\-t}}\label{group__types_ga6}


Structure for mapping vendor names to bus-specific IDs 

Definition at line 124 of file discover.h.

\subsection{Enumeration Type Documentation}
\index{types@{types}!discover_bus_t@{discover\_\-bus\_\-t}}
\index{discover_bus_t@{discover\_\-bus\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf discover\_\-bus\_\-t}}\label{group__types_ga16}


Enumerate the buses. 

Definition at line 146 of file discover.h.\index{types@{types}!discover_error_code_t@{discover\_\-error\_\-code\_\-t}}
\index{discover_error_code_t@{discover\_\-error\_\-code\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf discover\_\-error\_\-code\_\-t}}\label{group__types_ga15}


\begin{Desc}
\item[Enumeration values: ]\par
\begin{description}
\index{DISCOVER_SUCCESS@{DISCOVER\_\-SUCCESS}!types@{types}}\index{types@{types}!DISCOVER_SUCCESS@{DISCOVER\_\-SUCCESS}}\item[{\em 
DISCOVER\_\-SUCCESS\label{group__types_gga15a15}
}]Success \index{DISCOVER_EIO@{DISCOVER\_\-EIO}!types@{types}}\index{types@{types}!DISCOVER_EIO@{DISCOVER\_\-EIO}}\item[{\em 
DISCOVER\_\-EIO\label{group__types_gga15a16}
}]Input/output error \index{DISCOVER_EXML@{DISCOVER\_\-EXML}!types@{types}}\index{types@{types}!DISCOVER_EXML@{DISCOVER\_\-EXML}}\item[{\em 
DISCOVER\_\-EXML\label{group__types_gga15a17}
}]XML parse error \index{DISCOVER_ESYS@{DISCOVER\_\-ESYS}!types@{types}}\index{types@{types}!DISCOVER_ESYS@{DISCOVER\_\-ESYS}}\item[{\em 
DISCOVER\_\-ESYS\label{group__types_gga15a18}
}]System error \index{DISCOVER_EBUSDISABLED@{DISCOVER\_\-EBUSDISABLED}!types@{types}}\index{types@{types}!DISCOVER_EBUSDISABLED@{DISCOVER\_\-EBUSDISABLED}}\item[{\em 
DISCOVER\_\-EBUSDISABLED\label{group__types_gga15a19}
}]Disabled bus \index{DISCOVER_EBUSNOTFOUND@{DISCOVER\_\-EBUSNOTFOUND}!types@{types}}\index{types@{types}!DISCOVER_EBUSNOTFOUND@{DISCOVER\_\-EBUSNOTFOUND}}\item[{\em 
DISCOVER\_\-EBUSNOTFOUND\label{group__types_gga15a20}
}]Bus not found \index{DISCOVER_EDATANOTFOUND@{DISCOVER\_\-EDATANOTFOUND}!types@{types}}\index{types@{types}!DISCOVER_EDATANOTFOUND@{DISCOVER\_\-EDATANOTFOUND}}\item[{\em 
DISCOVER\_\-EDATANOTFOUND\label{group__types_gga15a21}
}]Data source not found \index{DISCOVER_EDEVICENOTFOUND@{DISCOVER\_\-EDEVICENOTFOUND}!types@{types}}\index{types@{types}!DISCOVER_EDEVICENOTFOUND@{DISCOVER\_\-EDEVICENOTFOUND}}\item[{\em 
DISCOVER\_\-EDEVICENOTFOUND\label{group__types_gga15a22}
}]Device not found \index{DISCOVER_EBADVERSION@{DISCOVER\_\-EBADVERSION}!types@{types}}\index{types@{types}!DISCOVER_EBADVERSION@{DISCOVER\_\-EBADVERSION}}\item[{\em 
DISCOVER\_\-EBADVERSION\label{group__types_gga15a23}
}]Invalid version range \index{DISCOVER_ENOIMPL@{DISCOVER\_\-ENOIMPL}!types@{types}}\index{types@{types}!DISCOVER_ENOIMPL@{DISCOVER\_\-ENOIMPL}}\item[{\em 
DISCOVER\_\-ENOIMPL\label{group__types_gga15a24}
}]Action not implemented for this platform \end{description}
\end{Desc}



Definition at line 73 of file discover.h.\index{types@{types}!discover_filetype_t@{discover\_\-filetype\_\-t}}
\index{discover_filetype_t@{discover\_\-filetype\_\-t}!types@{types}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf discover\_\-filetype\_\-t}}\label{group__types_ga17}


Enumerate the types of data files: vendor, busclass, and device. 

Definition at line 162 of file discover.h.