X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstlink-usb.h;h=747d54c7480bdfb1d815c13657099d833b0299fa;hb=refs%2Fheads%2Fdebian;hp=f433193c81eae6ce95c20dbaa189f8f281c81c98;hpb=596fb35916ef2f1da8b817fa4b6e365e71c0fc5a;p=fw%2Fstlink diff --git a/src/stlink-usb.h b/src/stlink-usb.h index f433193..747d54c 100644 --- a/src/stlink-usb.h +++ b/src/stlink-usb.h @@ -1,4 +1,4 @@ -/* +/* * File: stlink-usb.h * Author: karl * @@ -6,36 +6,46 @@ */ #ifndef STLINK_USB_H -#define STLINK_USB_H +#define STLINK_USB_H -#ifdef __cplusplus +#include +#include + +#include "stlink-common.h" +#include "uglylogging.h" + +#ifdef __cplusplus extern "C" { #endif -#include -#include "stlink-common.h" - #define STLINK_SG_SIZE 31 #define STLINK_CMD_SIZE 16 struct stlink_libusb { libusb_context* libusb_ctx; libusb_device_handle* usb_handle; - struct libusb_transfer* req_trans; - struct libusb_transfer* rep_trans; unsigned int ep_req; unsigned int ep_rep; int protocoll; unsigned int sg_transfer_idx; unsigned int cmd_len; }; - - stlink_t* stlink_open_usb(const int verbose, int reset); - -#ifdef __cplusplus + /** + * Open a stlink + * @param verbose Verbosity loglevel + * @param reset Reset stlink programmer + * @param serial Serial number to search for, when NULL the first stlink found is opened (binary format) + * @retval NULL Error while opening the stlink + * @retval !NULL Stlink found and ready to use + */ + stlink_t *stlink_open_usb(enum ugly_loglevel verbose, bool reset, char serial[16]); + size_t stlink_probe_usb(stlink_t **stdevs[]); + void stlink_probe_usb_free(stlink_t **stdevs[], size_t size); + +#ifdef __cplusplus } #endif -#endif /* STLINK_USB_H */ +#endif /* STLINK_USB_H */