# sasl_client_init - SASL client authentication initialization

## Synopsis

    #include <sasl/sasl.h>

    int sasl_client_init(const  sasl_callback_t *callbacks )

## Description

sasl_client_init initializes SASL.

It must be called before any calls to sasl_client_start(3). This call initializes all SASL client 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.

## Return Value

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

The following return codes indicate errors and should either be handled or the authentication session should be quit:

- `SASL_BADVERS`: Mechanism version mismatch

- `SASL_BADPARAM`: Error in config file

- `SASL_NOMEM`: Not enough memory to complete operation

## See Also

RFC 4422,:saslman:sasl(3), sasl_callbacks(3), sasl_client_new(3), sasl_client_start(3), sasl_client_step(3)