@deftypefun {ssize_t} {gnutls_record_recv_seq} (gnutls_session_t @var{session}, void * @var{data}, size_t @var{data_size}, unsigned char * @var{seq}) @var{session}: is a @code{gnutls_session_t} type. @var{data}: the buffer that the data will be read into @var{data_size}: the number of requested bytes @var{seq}: is the packet's 64-bit sequence number. Should have space for 8 bytes. This function is the same as @code{gnutls_record_recv()} , except that it returns in addition to data, the sequence number of the data. This is useful in DTLS where record packets might be received out-of-order. The returned 8-byte sequence number is an integer in big-endian format and should be treated as a unique message identification. @strong{Returns:} The number of bytes received and zero on EOF. A negative error code is returned in case of an error. The number of bytes received might be less than @code{data_size} . @strong{Since:} 3.0 @end deftypefun