cc [ flag ... ] file ... –lsasl [ library ... ] #include <sasl/sasl.h> int sasl_client_new(const char *service, const char *serverFQDN, const char *iplocalport, const char *ipremoteport, const sasl_callback_t *prompt_supp, unsigned flags, sasl_conn_t **pconn);
Use the sasl_client_new() interface to create a new SASL context. This SASL context will be used for all SASL calls for one connection. The context handles both authentication and the integrity and encryption layers after authentication.
The registered name of the service that uses SASL, usually the protocol name, for example, IMAP.
The fully qualified domain name of the server, for example, serverhost.cmu.edu.
The IP and port of the local side of the connection, or NULL. If iplocalport is NULL, mechanisms that require IP address information are disabled. The iplocalport string must be in one of the following formats:
The IP and port of the remote side of the connection, or NULL.
A list of the client interactions supported that are unique to this connection. If this parameter is NULL, the global callbacks specified in sasl_client_init(3SASL) are used.
Usage flags. For clients, the flag SASL_NEED_PROXY is available.
The connection context allocated by the library. The pconn structure is used for all future SASL calls for this connection.
sasl_client_new() returns an integer that corresponds to a SASL error code.
The call to sasl_client_new() was successful.
No mechanishm meets the requested properties.
There is an error in the configuration file or passed parameters.
There is not enough memory to complete the operation.
All other error codes indicate an error situation that must be handled, or the authentication session should be quit. See sasl_errors(3SASL) for information on SASL error codes.
See attributes(5) for descriptions of the following attributes: