---
name: "sasl_client_init"
section: "3"
platform: "macos"
package: "passwordserver_sasl"
version: "215"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/sasl_client_init"
---

# sasl\_client\_init(3)

SASL client authentication initialization

## NAME

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. 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.

*callbacks* specifies the base callbacks for all client connections. See the sasl\_callbacks man page for more information

## RETURN VALUE

sasl\_client\_init returns an integer which corresponds to one of the following codes. SASL\_OK is the only one that indicates success. All others indicate errors and should either be handled or the authentication session should be quit.

## ERRORS

- **SASL\_OK**

  Success

- **SASL\_BADVERS**

  Mechanism version mismatch

- **SASL\_BADPARAM**

  Error in config file

- **SASL\_NOMEM**

  Not enough memory to complete operation

## CONFORMING TO

RFC 4422

## SEE ALSO

[sasl(3)](/sasl/3.md), [sasl\_callbacks(3)](/sasl_callbacks/3.md), [sasl\_client\_new(3)](/sasl_client_new/3.md), [sasl\_client\_start(3)](/sasl_client_start/3.md), [sasl\_client\_step(3)](/sasl_client_step/3.md)
