2121 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2222 *)
2323
24- { $mode delphi}
2524unit LibUSB;
2625
2726interface
2827
28+ { $ifdef unix}
29+ uses unix;
30+ { $endif}
31+
2932const
30- LIBUSB_PATH_MAX = 512 ;
33+ { $ifdef windows}
34+ LIBUSB_PATH_MAX = 510 ;
3135 LIBUSB_DLL_NAME = ' libusb0.dll' ;
36+ { $endif}
37+ { $ifdef unix}
38+ LIBUSB_PATH_MAX = PATH_MAX;
39+ LIBUSB_DLL_NAME = ' libusb' ;
40+ { $endif}
3241
3342 USB_OK = 0 ; // 0 = success from functions < 0 is failed
3443
@@ -263,10 +272,10 @@ interface
263272 pusb_device = ^usb_device;
264273 pusb_bus = ^usb_bus;
265274
266- usb_device = packed record
275+ usb_device = record
267276 next,
268277 prev: pusb_device;
269- filename: packed array [0 ..LIBUSB_PATH_MAX- 1 ] of char;
278+ filename: packed array [0 ..LIBUSB_PATH_MAX+ 1 ] of char;
270279 bus: pusb_bus;
271280 descriptor: usb_device_descriptor;
272281 config: PArray_usb_config_descriptor;
@@ -276,10 +285,10 @@ interface
276285 children : ^pusb_device;
277286 end ;
278287
279- usb_bus = packed record
288+ usb_bus = record
280289 next,
281290 prev: pusb_bus;
282- dirname: packed array [0 ..LIBUSB_PATH_MAX- 1 ] of char;
291+ dirname: packed array [0 ..LIBUSB_PATH_MAX+ 1 ] of char;
283292 devices: pusb_device;
284293 location: longint;
285294 root_dev: pusb_device;
@@ -339,18 +348,6 @@ function usb_find_devices: longword; cdecl;
339348function usb_get_device (dev: pusb_dev_handle): pusb_device; cdecl; // renamed from usb_device because of same named record
340349function usb_get_busses : pusb_bus; cdecl;
341350
342- function usb_install_service_np : integer; cdecl;
343- function usb_uninstall_service_np : integer; cdecl;
344- function usb_install_driver_np (inf_file: PChar): integer; cdecl;
345- function usb_get_version : pusb_version; cdecl;
346- function usb_isochronous_setup_async (dev: pusb_dev_handle; var context: pointer; ep: char; pktsize: integer): integer; cdecl;
347- function usb_bulk_setup_async (dev: pusb_dev_handle; var context: pointer; ep: char): integer; cdecl;
348- function usb_interrupt_setup_async (dev: pusb_dev_handle; var context: pointer; ep: char): integer; cdecl;
349- function usb_submit_async (context: pointer; bytes: PByte; size: integer): integer; cdecl;
350- function usb_reap_async (context: pointer; timeout: integer): integer; cdecl;
351- function usb_free_async (var context: pointer): integer; cdecl;
352-
353-
354351implementation
355352
356353
@@ -389,16 +386,7 @@ function usb_find_devices: longword; cdecl; external LIBUSB_DLL_NAME name 'usb_
389386function usb_get_device (dev: pusb_dev_handle): pusb_device; cdecl; external LIBUSB_DLL_NAME name ' usb_device' ; // renamed from usb_device because of same named record
390387function usb_get_busses : pusb_bus; cdecl; external LIBUSB_DLL_NAME name ' usb_get_busses' ;
391388
392- function usb_install_service_np ; cdecl; external LIBUSB_DLL_NAME name ' usb_install_service_np' ;
393- function usb_uninstall_service_np ; cdecl; external LIBUSB_DLL_NAME name ' usb_uninstall_service_np' ;
394- function usb_install_driver_np ; cdecl; external LIBUSB_DLL_NAME name ' usb_install_driver_np' ;
395- function usb_get_version ; cdecl; external LIBUSB_DLL_NAME name ' usb_get_version' ;
396- function usb_isochronous_setup_async ; cdecl; external LIBUSB_DLL_NAME name ' usb_isochronous_setup_async' ;
397- function usb_bulk_setup_async ; cdecl; external LIBUSB_DLL_NAME name ' usb_bulk_setup_async' ;
398- function usb_interrupt_setup_async ; cdecl; external LIBUSB_DLL_NAME name ' usb_interrupt_setup_async' ;
399- function usb_submit_async ; cdecl; external LIBUSB_DLL_NAME name ' usb_submit_async' ;
400- function usb_reap_async ; cdecl; external LIBUSB_DLL_NAME name ' usb_reap_async' ;
401- function usb_free_async ; cdecl; external LIBUSB_DLL_NAME name ' usb_free_async' ;
389+
402390
403391
404392end .
0 commit comments