sasl_listmech - Retrieve a list of the supported SASL mechanisms — Cyrus SASL 2.1.27 documentation

- Home
- Cyrus IMAP
- Download
- Contribute

# sasl_listmech - Retrieve a list of the supported SASL mechanisms

## Synopsis

    #include <sasl/sasl.h>

    int sasl_listmech(sasl_conn_t *conn,
                     const char *user,
                     const char *prefix,
                     const char *sep,
                     const char *suffix,
                     const char **result,
                     unsigned *plen,
                     int *pcount);

## Description

`int sasl_listmech(sasl_conn_t *conn,`
`const char *user,`
`const char *prefix,`
`const char *sep,`
`const char *suffix,`
`const char **result,`
`unsigned *plen,`
`int *pcount);`

  sasl_listmech returns a string listing the SASL names of all the mechanisms available to the specified user. This is typically given to the client through a capability command or initial server response. Client applications need this list so that they know what mechanisms the server supports.

  Parameters: | conn – the SASL context for this connection user – (optional) restricts the mechanism list to only those available to the user. prefix – appended to beginning of result sep – appended between mechanisms suffix – appended to end of result result – NULL terminated result string (allocated/freed by library) plen – length of result filled in by library. May be NULL pcount – Number of mechanisms available (filled in by library). May be NULL

## Example

    sasl_listmech(conn,NULL,"(",",",")",&mechlist,NULL,NULL);

may give the following string as a result:

> (ANONYMOUS,KERBEROS_V4,DIGEST‐MD5)

## Return Value

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

## See Also

RFC 4422,:saslman:sasl(3), sasl_server_new(3), sasl_errors(3), sasl_client_new(3)