sdlHidReadTimeout function

int sdlHidReadTimeout(
  1. Pointer<SdlHidDevice> dev,
  2. Pointer<Uint8> data,
  3. int length,
  4. int milliseconds,
)

Read an Input report from a HID device with timeout.

Input reports are returned to the host through the INTERRUPT IN endpoint. The first byte will contain the Report number if the device uses numbered reports.

\param dev a device handle returned from SDL_hid_open(). \param data a buffer to put the read data into. \param length the number of bytes to read. For devices with multiple reports, make sure to read an extra byte for the report number. \param milliseconds timeout in milliseconds or -1 for blocking wait. \returns the actual number of bytes read and -1 on on failure; call SDL_GetError() for more information. If no packet was available to be read within the timeout period, this function returns 0.

\since This function is available since SDL 3.1.3.

extern SDL_DECLSPEC int SDLCALL SDL_hid_read_timeout(SDL_hid_device *dev, unsigned char *data, size_t length, int milliseconds)

Implementation

int sdlHidReadTimeout(Pointer<SdlHidDevice> dev, Pointer<Uint8> data,
    int length, int milliseconds) {
  final sdlHidReadTimeoutLookupFunction = libSdl3.lookupFunction<
      Int32 Function(Pointer<SdlHidDevice> dev, Pointer<Uint8> data,
          Uint32 length, Int32 milliseconds),
      int Function(Pointer<SdlHidDevice> dev, Pointer<Uint8> data, int length,
          int milliseconds)>('SDL_hid_read_timeout');
  return sdlHidReadTimeoutLookupFunction(dev, data, length, milliseconds);
}