



@deftypefun {int} {gnutls_init} (gnutls_session_t * @var{session}, unsigned int @var{flags})
@var{session}: is a pointer to a @code{gnutls_session_t}  structure.

@var{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 @code{gnutls_deinit()} .  Returns @code{GNUTLS_E_SUCCESS}  (0) on success.

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

@strong{Returns:} @code{GNUTLS_E_SUCCESS}  on success, or an error code.
@end deftypefun
