# Types

## Data Structures

struct | discover_error
struct | discover_bus_map

## Defines

#define | BUS_COUNT 5

## Typedefs

typedef void *( | discover_create_message_t )(struct discover_error **, char *)
typedef discover_error | discover_error_t
typedef discover_bus_map | discover_bus_map_t
typedef discover_device | discover_device_t
typedef discover_data | discover_data_t
typedef discover_xml_busclass | discover_xml_busclass_t
typedef discover_xml_vendor | discover_xml_vendor_t
typedef discover_xml_url | discover_xml_url_t
typedef discover_device_t *( | discover_device_func_t )(discover_error_t *)
typedef discover_xml_busclass_t *( | discover_xml_busclass_func_t )(discover_error_t *)
typedef discover_xml_vendor_t *( | discover_xml_vendor_func_t )(discover_error_t *)
typedef discover_xml_url_t *( | discover_xml_url_func_t )(discover_error_t *)
typedef void( | discover_free_func_t )(void)
typedef discover_sysdep_data_t *( | discover_sysdep_raw_func_t )(void)

## Enumerations

enum | discover_error_code_t { DISCOVER_SUCCESS, DISCOVER_EIO, DISCOVER_EXML, DISCOVER_ESYS, DISCOVER_EBUSDISABLED, DISCOVER_EBUSNOTFOUND, DISCOVER_EDATANOTFOUND, DISCOVER_EDEVICENOTFOUND, DISCOVER_EBADVERSION, DISCOVER_ENOIMPL }
enum | discover_bus_t { ATA, PCI, PCMCIA, SCSI, USB }
enum | discover_filetype_t { VENDOR_TYPE, BUSCLASS_TYPE, DEVICE_TYPE }

## Define Documentation

#define BUS_COUNT 5

| 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().

## Typedef Documentation

typedef struct discover_bus_map discover_bus_map_t

| Mapping of bus names to functions Definition at line 116 of file discover.h.

typedef void*( discover_create_message_t)(struct discover_error **, char *)

| Signature of functions that assist with creating message strings Definition at line 99 of file discover.h.

typedef struct discover_data discover_data_t

| Data element from the device XML files Definition at line 120 of file discover.h.

typedef discover_device_t*( discover_device_func_t)(discover_error_t *)

| Signature of functions returning discover_device_t structures Definition at line 129 of file discover.h.

typedef struct discover_device discover_device_t

| Structure describing a device Definition at line 118 of file discover.h.

typedef struct discover_error discover_error_t

| 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.

typedef void( discover_free_func_t)(void)

| Signature of functions that free internal lists Definition at line 137 of file discover.h.

typedef discover_sysdep_data_t*( discover_sysdep_raw_func_t)(void)

| Signature of functions that return sysdep_data_t lists Definition at line 141 of file discover.h.

typedef discover_xml_busclass_t*( discover_xml_busclass_func_t)(discover_error_t *)

| Signature of functions returning discover_xml_busclass_t structures Definition at line 131 of file discover.h.

typedef struct discover_xml_busclass discover_xml_busclass_t

| Structure for mapping Discover device types to bus-specific classes Definition at line 122 of file discover.h.

typedef discover_xml_url_t*( discover_xml_url_func_t)(discover_error_t *)

| Signature of functions returning discover_xml_url_t structures Definition at line 135 of file discover.h.

typedef struct discover_xml_url discover_xml_url_t

| Structure describing a URL where XML data can be found Definition at line 126 of file discover.h.

typedef discover_xml_vendor_t*( discover_xml_vendor_func_t)(discover_error_t *)

| Signature of functions returning discover_xml_vendor_t structures Definition at line 133 of file discover.h.

typedef struct discover_xml_vendor discover_xml_vendor_t

| Structure for mapping vendor names to bus-specific IDs Definition at line 124 of file discover.h.

## Enumeration Type Documentation

enum discover_bus_t

| Enumerate the buses. Definition at line 146 of file discover.h.

enum discover_error_code_t

Enumeration values:

  DISCOVER_SUCCESS | Success
  DISCOVER_EIO | Input/output error
  DISCOVER_EXML | XML parse error
  DISCOVER_ESYS | System error
  DISCOVER_EBUSDISABLED | Disabled bus
  DISCOVER_EBUSNOTFOUND | Bus not found
  DISCOVER_EDATANOTFOUND | Data source not found
  DISCOVER_EDEVICENOTFOUND | Device not found
  DISCOVER_EBADVERSION | Invalid version range
  DISCOVER_ENOIMPL | Action not implemented for this platform

Definition at line 73 of file discover.h.

enum discover_filetype_t

| Enumerate the types of data files: vendor, busclass, and device. Definition at line 162 of file discover.h.