(bind-func print_all_devices
(lambda ()
(let ((devices (hid_enumerate #x0 #x0))
(device devices))
(while (not (null? device))
(printf "Manufacturer: %ls\n" (tref device 5))
(printf "Product : %ls\n" (tref device 6))
(printf "Release : %hx\n" (tref device 4))
(printf "Interface : %d\n" (tref device 9))
(printf "Vender ID : #x%hx\n" (tref device 1))
(printf "Product ID : #x%hx\n" (tref device 2))
(printf "-------------------\n")
(set! device (tref device 10)))
(hid_free_enumeration devices))))