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

# sasl\_encode(3)

Encode data for transport to authenticated host

## NAME

sasl\_encode - Encode data for transport to authenticated host

## SYNOPSIS

```
#include <sasl/sasl.h>

int sasl_encode(sasl_conn_t *conn,
		     const char * input,
	             unsigned inputlen,
		     const char ** output,
		     unsigned * outputlen);
int sasl_encodev(sasl_conn_t *conn,
		     const struct iovec * invec,
	             unsigned numiov,
		     const char ** output,
		     unsigned * outputlen);
```

## DESCRIPTION

**sasl\_encode** encodes data to be sent to be sent to a remote host who we've had a successful authentication session with. If there is a negotiated security the data in signed/encrypted and the output should be sent without modification to the remote host. If there is no security layer the output is identical to the input.

**sasl\_encodev** does the same, but for a struct iovec instead of a character buffer.

*output* contains the encoded data and is allocated/freed by the library.

## RETURN VALUE

Returns SASL\_OK on success.  See [sasl\_errors(3)](/sasl_errors/3.md) for meanings of other return codes.

## CONFORMING TO

RFC 4422

## SEE ALSO

[sasl(3)](/sasl/3.md), [sasl\_errors(3)](/sasl_errors/3.md), [sasl\_decode(3)](/sasl_decode/3.md)
