# sasl_server_add_plugin - add a SASL server plugin

## Synopsis

    #include <sasl/saslplug.h>

    int sasl_server_add_plugin(const char *plugname,
                    sasl_server_plug_init_t *cplugfunc);

## Description

int sasl_server_add_plugin(const char *plugname,
sasl_server_plug_init_t *cplugfunc);

  sasl_server_add_plugin adds a server plugin to the current list of server plugins in the SASL library.

  Parameters:

    - plugname – is the name of the server plugin.

    - cplugfunc – is filled in by the sasl_server_plug_init_t structure.

  Returns:

    Returns `SASL_OK` on success. See sasl_errors(3) for meanings of other return codes.

## Return Value

SASL 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 be handled:

- `SASL_BADVERS`: Version mismatch with plugin.

- `SASL_NOMEM`: Not enough memory to complete operation

## Conforming to

RFC 4422

## See Also

sasl(3), sasl_errors(3)