# The libmtp internals API.

## Functions
void | LIBMTP_Init (void)
int | LIBMTP_Get_Supported_Devices_List (LIBMTP_device_entry_t **const, int *const)

## Function Documentation

int LIBMTP_Get_Supported_Devices_List | ( | LIBMTP_device_entry_t **const | devices,
|  | int *const | numdevs |
| ) |  |  |

Get a list of the supported USB devices.

The developers depend on users of this library to constantly add in to the list of supported devices. What we need is the device name, USB Vendor ID (VID) and USB Product ID (PID). put this into a bug ticket at the project homepage, please. The VID/PID is used to let e.g. udev lift the device to console userspace access when it's plugged in.

Parameters:

  | devices | a pointer to a pointer that will hold a device list after the call to this function, if it was successful.
  | numdevs | a pointer to an integer that will hold the number of devices in the device list if the call was successful.

Returns:
  0 if the list was successfull retrieved, any other value means failure.

Examples:
  hotplug.c.

void LIBMTP_Init | ( | void |  | ) |

Initialize the library. You are only supposed to call this one, before using the library for the first time in a program. Never re-initialize libmtp!

The only thing this does at the moment is to initialise the filetype mapping table.