---
name: "gnutls_record_recv_early_data"
section: "3"
platform: "linux"
package: "gnutls"
version: "3.8.13-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gnutls_record_recv_early_data"
---

# gnutls\_record\_recv\_early\_data(3)

API function

## NAME

gnutls\_record\_recv\_early\_data - API function

## SYNOPSIS

**#include \<gnutls/gnutls.h\>**

**ssize\_t gnutls\_record\_recv\_early\_data(gnutls\_session\_t** *session***, void \*** *data***, size\_t** *data\_size***);**

## ARGUMENTS

- gnutls\_session\_t session

  is a **gnutls\_session\_t** type.

- void \* data

  the buffer that the data will be read into

- size\_t data\_size

  the number of requested bytes

## DESCRIPTION

This function can be used by a server to retrieve data sent early in the handshake processes when resuming a session.  This is used to implement a zero-roundtrip (0-RTT) mode.  It has the same semantics as **gnutls\_record\_recv()**.

This function can be called either in a handshake hook, or after the handshake is complete.

## RETURNS

The number of bytes received and zero when early data reading is complete.  A negative error code is returned in case of an error.  If no early data is received during the handshake, this function returns **GNUTLS\_E\_REQUESTED\_DATA\_NOT\_AVAILABLE**.  The number of bytes received might be less than the requested\
  *data\_size* .

## SINCE

3\.6.5

## REPORTING BUGS

Report bugs to \<bugs@gnutls.org\>.\
 Home page: https://www.gnutls.org

## COPYRIGHT

Copyright © 2001-2023 Free Software Foundation, Inc., and others.\
 Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

## SEE ALSO

The full documentation for **gnutls** is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit

- https://www.gnutls.org/manual/
