# Vendor list XML parsing

## Functions

void | discover_xml_merge_vendor_url (discover_xml_vendor_t **vlist, char *url, discover_error_t *status)
discover_xml_vendor_t * | discover_xml_get_vendors (discover_bus_t bus, discover_error_t *status)
void | discover_xml_free_vendors (void)
char * | discover_xml_vendor_id2name (discover_xml_vendor_t *vendors, char *id)
char * | discover_xml_vendor_get_id (discover_xml_vendor_t *vendor)
char * | discover_xml_vendor_get_name (discover_xml_vendor_t *vendor)
discover_xml_vendor_t * | discover_xml_vendor_get_next (discover_xml_vendor_t *vendor)
discover_xml_vendor_t * | discover_xml_vendor_new (void)
void | discover_xml_vendor_free (discover_xml_vendor_t *vendors)

## Function Documentation

void discover_xml_free_vendors | ( | void |  | ) |

| Free the list of vendors. Definition at line 248 of file vendor-xml.c. References BUS_COUNT, and discover_xml_vendor_free().

discover_xml_vendor_t* discover_xml_get_vendors | ( | discover_bus_t | bus,
|  | discover_error_t * | status
| ) |

Get the list of vendors by bus type.

Parameters:

  | bus | Type of bus for which vendors are required
  | status | Address in which to place status report

Definition at line 215 of file vendor-xml.c.

References discover_error::code, discover_xml_get_data_urls(), discover_xml_merge_vendor_url(), discover_xml_url_get_next(), and discover_xml_url_get_url().

Referenced by discover_xml_get_devices().

void discover_xml_merge_vendor_url | ( | discover_xml_vendor_t ** | vlist,
|  | char * | url,
|  | discover_error_t * | status
| ) |

Merge new vendors into a list.

Parameters:

  | vlist | Address of the list to merge vendors into
  | url | URL of the document defining the vendors
  | status | Address in which to place status report

Definition at line 173 of file vendor-xml.c.

References discover_error::code, DISCOVER_EIO, and DISCOVER_EXML.

Referenced by discover_xml_get_vendors().

void discover_xml_vendor_free | ( | discover_xml_vendor_t * | vendors | ) |

Free the vendor or list of vendors.

Parameters:

  | vendors | Vendor or list of vendors to free

Definition at line 342 of file vendor-xml.c.

Referenced by discover_xml_free_vendors().

char* discover_xml_vendor_get_id | ( | discover_xml_vendor_t * | vendor | ) |

| Get the id member of vendor. Definition at line 290 of file vendor-xml.c.

char* discover_xml_vendor_get_name | ( | discover_xml_vendor_t * | vendor | ) |

| Get the name member of vendor. Definition at line 301 of file vendor-xml.c.

discover_xml_vendor_t* discover_xml_vendor_get_next | ( | discover_xml_vendor_t * | vendor | ) |

| Get the next member of vendor. Definition at line 312 of file vendor-xml.c.

char* discover_xml_vendor_id2name | ( | discover_xml_vendor_t * | vendors,
|  | char * | id
| ) |

Convert a vendor ID to a human-readable string naming the vendor.

Parameters:

  | vendors | List of vendors to search
  | id | Vendor ID to search for

Definition at line 264 of file vendor-xml.c.

discover_xml_vendor_t* discover_xml_vendor_new | ( | void |  | ) |

| Create and initialize a new discover_xml_vendor_t structure. Definition at line 323 of file vendor-xml.c.