



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

@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 any of @code{gnutls_init_flags_t} .

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 @code{GNUTLS_NO_EXTENSIONS} 
flag.

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