code: def _hid_enumerate(vendor_id=0, product_id=0):
      
      start = hidapi.hid_enumerate(vendor_id, product_id)
      result = []
      cur = ffi.new("struct hid_device_info*");
      cur = start
  
      # Copy everything into python list
      while cur != ffi.NULL:
          result.append(HIDDevice(cur))
          cur = cur.next
  
      # Free the C memory
      hidapi.hid_free_enumeration(start)
  
      return result
docs: Enumerates all the hid devices for VID:PID. Returns a list of `HIDDevice`
      objects.  If vid is 0, then match any vendor id. Similarly, if pid is 0,
      match any product id. If both are zero, enumerate all HID devices.