Align loader to 32-bit boundary
[fw/stlink] / src / stlink-sg.h
index 723c66a05678cc2ba45057180b683b0fe3f8d1cd..7c020285176283602885d285bf38e7e13eef8d98 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  * File:   stlink-sg.h
  * Author: karl
  *
 #ifdef __cplusplus
 extern "C" {
 #endif
-    
-#include <libusb-1.0/libusb.h>
+
+#include <libusb.h>
 #include "stlink-common.h"
-    
-        // device access
+
+    // device access
 #define RDWR           0
 #define RO             1
 #define SG_TIMEOUT_SEC 1 // actually 1 is about 2 sec
+#define SG_TIMEOUT_MSEC        3 * 1000
     // Each CDB can be a total of 6, 10, 12, or 16 bytes, later version
     // of the SCSI standard also allow for variable-length CDBs (min. CDB is 6).
     // the stlink needs max. 10 bytes.
@@ -41,6 +42,11 @@ extern "C" {
 
 
     struct stlink_libsg {
+        libusb_context* libusb_ctx;
+        libusb_device_handle *usb_handle;
+        unsigned ep_rep;
+        unsigned ep_req;
+
         int sg_fd;
         int do_scsi_pt_err;
 
@@ -51,12 +57,13 @@ extern "C" {
         uint32_t q_addr;
 
         // Sense (error information) data
+        // obsolete, this was fed to the scsi tools
         unsigned char sense_buf[SENSE_BUF_LEN];
 
         reg reg;
     };
 
-    stlink_t* stlink_v1_open(const char *dev_name, const int verbose);
+    stlink_t* stlink_v1_open(const int verbose, int reset);
 
 #ifdef __cplusplus
 }