gnutls_init (3) - Linux Manuals

gnutls_init: API function


gnutls_init - API function


#include <gnutls/gnutls.h>

int gnutls_init(gnutls_session_t * session, unsigned int flags);


gnutls_session_t * session
is a pointer to a gnutls_session_t structure.
unsigned int flags
indicate if this session is to be used for server or client.


This function initializes the current session to null. Every session must be initialized before use, so internal structures can be allocated. This function allocates structures which can only be free'd by calling gnutls_deinit(). Returns GNUTLS_E_SUCCESS (0) on success.

 flags can be one of GNUTLS_CLIENT and GNUTLS_SERVER. For a DTLS entity, the flags GNUTLS_DATAGRAM and GNUTLS_NONBLOCK are also available. The latter flag will enable a non-blocking operation of the DTLS timers.

The flag GNUTLS_NO_REPLAY_PROTECTION will disable any replay protection in DTLS mode. That must only used when replay protection is achieved using other means.

Note that since version 3.1.2 this function enables some common TLS extensions such as session tickets and OCSP certificate status request in client side by default. To prevent that use the GNUTLS_NO_EXTENSIONS flag.


GNUTLS_E_SUCCESS on success, or an error code.


Report bugs to <bugs [at]>.
Home page:


Copyright © 2001-2014 Free Software Foundation, Inc..
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.


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