---
name: "gsasl_step64"
section: "3"
platform: "linux"
package: "gsasl"
version: "2.2.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gsasl_step64"
---

# gsasl\_step64(3)

API function

## NAME

gsasl\_step64 - API function

## SYNOPSIS

**#include \<gsasl.h\>**

**int gsasl\_step64(Gsasl\_session \*** *sctx***, const char \*** *b64input***, char \*\*** *b64output***);**

## ARGUMENTS

- Gsasl\_session \* sctx

  libgsasl client handle.

- const char \* b64input

  input base64 encoded byte array.

- char \*\* b64output

  newly allocated output base64 encoded byte array.

## DESCRIPTION

This is a simple wrapper around **gsasl\_step()** that base64 decodes the input and base64 encodes the output.

The contents of the  *b64output* buffer is unspecified if this functions returns anything other than **GSASL\_OK** or **GSASL\_NEEDS\_MORE**.  If this function return **GSASL\_OK** or **GSASL\_NEEDS\_MORE**, however, the  *b64output* buffer is allocated by this function, and it is the responsibility of caller to deallocate it by calling gsasl\_free( *b64output* ).

Return value: Returns **GSASL\_OK** if authenticated terminated successfully, **GSASL\_NEEDS\_MORE** if more data is needed, or error code.

## REPORTING BUGS

Report bugs to \<bug-gsasl@gnu.org\>.\
 General guidelines for reporting bugs: https://www.gnu.org/gethelp/\
 GNU SASL home page: https://www.gnu.org/software/gsasl/

## COPYRIGHT

Copyright © 2002-2026 Simon Josefsson.\
 Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

## SEE ALSO

The full documentation for **gsasl** is maintained as a Texinfo manual.  If the **info** and **gsasl** programs are properly installed at your site, the command

-

  **info gsasl**

should give you access to the complete manual. As an alternative you may obtain the manual from:

-

  **https://www.gnu.org/software/libidn/gsasl/manual/**
