Commit | Line | Data |
---|---|---|
bf956a00 TJ |
1 | /* find_all.c |
2 | ||
3 | Example for ftdi_usb_find_all() | |
4 | ||
5 | This program is distributed under the GPL, version 2 | |
6db32169 TJ |
6 | */ |
7 | ||
8 | #include <stdio.h> | |
9 | #include <ftdi.h> | |
10 | ||
11 | int main(int argc, char **argv) | |
12 | { | |
13 | int ret, i; | |
14 | struct ftdi_context ftdic; | |
15 | struct ftdi_device_list *devlist, *curdev; | |
16 | char manufacturer[128], description[128]; | |
17 | ||
18 | ftdi_init(&ftdic); | |
19 | ||
22d12cda TJ |
20 | if ((ret = ftdi_usb_find_all(&ftdic, &devlist, 0x0403, 0x6001)) < 0) |
21 | { | |
6db32169 TJ |
22 | fprintf(stderr, "ftdi_usb_find_all failed: %d (%s)\n", ret, ftdi_get_error_string(&ftdic)); |
23 | return EXIT_FAILURE; | |
24 | } | |
25 | ||
26 | printf("Number of FTDI devices found: %d\n", ret); | |
27 | ||
28 | i = 0; | |
22d12cda TJ |
29 | for (curdev = devlist; curdev != NULL; i++) |
30 | { | |
6db32169 | 31 | printf("Checking device: %d\n", i); |
22d12cda TJ |
32 | if ((ret = ftdi_usb_get_strings(&ftdic, curdev->dev, manufacturer, 128, description, 128, NULL, 0)) < 0) |
33 | { | |
6db32169 TJ |
34 | fprintf(stderr, "ftdi_usb_get_strings failed: %d (%s)\n", ret, ftdi_get_error_string(&ftdic)); |
35 | return EXIT_FAILURE; | |
36 | } | |
37 | printf("Manufacturer: %s, Description: %s\n\n", manufacturer, description); | |
38 | curdev = curdev->next; | |
39 | } | |
40 | ||
41 | ftdi_list_free(&devlist); | |
42 | ftdi_deinit(&ftdic); | |
43 | ||
44 | return EXIT_SUCCESS; | |
45 | } |