# sasl_server_init - SASL server authentication initialization

## Synopsis

    #include <sasl/sasl.h>

    int sasl_server_init(const sasl_callback_t *callbacks,
                         const char *appname);

## Description

int sasl_server_init(const sasl_callback_t *callbacks,
const char *appname);

  sasl_server_init() initializes SASL. It must be called before any calls to sasl_server_start, and only once per process. This call initializes all SASL mechanism drivers (e.g. authentication mechanisms). These are usually found in the /usr/lib/sasl2 directory but the directory may be overridden with the SASL_PATH environment variable (or at compile time).

  Parameters:

    - callbacks – specifies the base callbacks for all client connections. See the sasl_callbacks(3) man page for more information.

    - appname – is the name of the application. It is used to find the default configuration file.

## Return Value

SASL callback functions should return SASL return codes. See sasl.h for a complete list. `SASL_OK` indicates success.

Other return codes indicate errors and should either be handled or the authentication session should be quit.

## See Also

RFC 4422,:saslman:sasl(3), sasl_callbacks(3), sasl_server_new(3), sasl_server_start(3), sasl_server_step(3), sasl_errors(3)