X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstlink-usb.h;fp=src%2Fstlink-usb.h;h=747d54c7480bdfb1d815c13657099d833b0299fa;hb=f782e931b0c51836ffae8a47618e6c2263607555;hp=58b60e430694e146ae7827c70e01bfe31aeb38a3;hpb=5121ae07c4a58887dcf940c107a4f45422ffd092;p=fw%2Fstlink diff --git a/src/stlink-usb.h b/src/stlink-usb.h index 58b60e4..747d54c 100644 --- a/src/stlink-usb.h +++ b/src/stlink-usb.h @@ -6,14 +6,17 @@ */ #ifndef STLINK_USB_H -#define STLINK_USB_H - -#ifdef __cplusplus -extern "C" { -#endif +#define STLINK_USB_H +#include #include + #include "stlink-common.h" +#include "uglylogging.h" + +#ifdef __cplusplus +extern "C" { +#endif #define STLINK_SG_SIZE 31 #define STLINK_CMD_SIZE 16 @@ -21,8 +24,6 @@ extern "C" { 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; @@ -30,12 +31,21 @@ extern "C" { 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 */