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 | ||
20 | if((ret = ftdi_usb_find_all(&ftdic, &devlist, 0x0403, 0x6001)) < 0) { | |
21 | fprintf(stderr, "ftdi_usb_find_all failed: %d (%s)\n", ret, ftdi_get_error_string(&ftdic)); | |
22 | return EXIT_FAILURE; | |
23 | } | |
24 | ||
25 | printf("Number of FTDI devices found: %d\n", ret); | |
26 | ||
27 | i = 0; | |
28 | for (curdev = devlist; curdev != NULL; i++) { | |
29 | printf("Checking device: %d\n", i); | |
9ecfef2a | 30 | if((ret = ftdi_usb_get_strings(&ftdic, curdev->dev, manufacturer, 128, description, 128, NULL, 0)) < 0) { |
6db32169 TJ |
31 | fprintf(stderr, "ftdi_usb_get_strings failed: %d (%s)\n", ret, ftdi_get_error_string(&ftdic)); |
32 | return EXIT_FAILURE; | |
33 | } | |
34 | printf("Manufacturer: %s, Description: %s\n\n", manufacturer, description); | |
35 | curdev = curdev->next; | |
36 | } | |
37 | ||
38 | ftdi_list_free(&devlist); | |
39 | ftdi_deinit(&ftdic); | |
40 | ||
41 | return EXIT_SUCCESS; | |
42 | } |