---
name: "gnutls_session_set_premaster"
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_session_set_premaster"
---

# gnutls\_session\_set\_premaster(3)

API function

## NAME

gnutls\_session\_set\_premaster - API function

## SYNOPSIS

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

**int gnutls\_session\_set\_premaster(gnutls\_session\_t** *session***, unsigned int** *entity***, gnutls\_protocol\_t** *version***, gnutls\_kx\_algorithm\_t** *kx***, gnutls\_cipher\_algorithm\_t** *cipher***, gnutls\_mac\_algorithm\_t** *mac***, gnutls\_compression\_method\_t** *comp***, const gnutls\_datum\_t \*** *master***, const gnutls\_datum\_t \*** *session\_id***);**

## ARGUMENTS

- gnutls\_session\_t session

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

- unsigned int entity

  GNUTLS\_SERVER or GNUTLS\_CLIENT

- gnutls\_protocol\_t version

  the TLS protocol version

- gnutls\_kx\_algorithm\_t kx

  the key exchange method

- gnutls\_cipher\_algorithm\_t cipher

  the cipher

- gnutls\_mac\_algorithm\_t mac

  the MAC algorithm

- gnutls\_compression\_method\_t comp

  the compression method (ignored)

- const gnutls\_datum\_t \* master

  the master key to use

- const gnutls\_datum\_t \* session\_id

  the session identifier

## DESCRIPTION

This function sets the premaster secret in a session. This is a function intended for exceptional uses. Do not use this function unless you are implementing a legacy protocol. Use **gnutls\_session\_set\_data()** instead.

## RETURNS

On success, **GNUTLS\_E\_SUCCESS** (0) is returned, otherwise an error code is returned.

## 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/
