---
name: "SDL_hid_read_timeout"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_hid_read_timeout"
---

# SDL\_hid\_read\_timeout(3)

Read an Input report from a HID device with timeout.

## NAME

SDL\_hid\_read\_timeout - Read an Input report from a HID device with timeout.

## HEADER FILE

Defined in SDL3/SDL\_hidapi.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**int SDL\_hid\_read\_timeout(SDL\_hid\_device \*dev, unsigned char \*data, size\_t length, int milliseconds);**

## DESCRIPTION

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.

## FUNCTION PARAMETERS

- *dev*

  a device handle returned from  **SDL\_hid\_open** ().

- *data*

  a buffer to put the read data into.

- *length*

  the number of bytes to read. For devices with multiple reports, make sure to read an extra byte for the report number.

- *milliseconds*

  timeout in milliseconds or -1 for blocking wait.

## RETURN VALUE

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.

## AVAILABILITY

This function is available since SDL 3.2.0.
