---
name: "Trf_TransformBuffer"
section: "3"
platform: "linux"
package: "tcl-trf-doc"
version: "2.1.4-dfsg3-8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Trf_TransformBuffer"
---

# Trf\_TransformBuffer(3)

Interface to procedures for transformation of character sequences.

## NAME

Trf\_TransformBuffer - Interface to procedures for transformation of character sequences.

## SYNOPSIS

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

**int Trf\_TransformBuffer**\
 **(**\
\
 	**Trf\_ControlBlock ctrlBlock,**\
\
 	**unsigned char \*buf,**\
\
 	**int bufLen,**\
\
 	**Tcl\_Interp \*interp,**\
\
 	**ClientData clientData**\
 **);**

## PARAMETERS

- **Trf\_ControlBlock ctrlBlock**

  State of encoder/decoder.

- **unsigned char \*buf**

  Characters to transform.

- **int bufLen**

  Number of characters.

- **Tcl\_Interp \*interp**

  Interpreter for error messages (NULL possible).

- **ClientData clientData**

  Arbitrary information, as defined in Trf\_TypeDefinition.clientData.

## DESCRIPTION

A procedure of this type is called to encode/decode a complete buffer. Return value is a standard tcl error code. In case of failure and interp not NULL an error message should be left in the result area of the specified interpreter. Only one of 'Trf\_TransformCharacter' and 'Trf\_TransformBuffer' must be provided. The first named is easier to implement, this one should be faster. If both are provided, -\> 'Trf\_TransformBuffer' takes precedence.

## SEE ALSO

[Trf\_Init(3)](/Trf_Init/3.md), [Trf\_SafeInit(3)](/Trf_SafeInit/3.md), [Trf\_IsInitialized(3)](/Trf_IsInitialized/3.md), [Trf\_CreateOptions(3)](/Trf_CreateOptions/3.md), [Trf\_DeleteOptions(3)](/Trf_DeleteOptions/3.md), [Trf\_CheckOptions(3)](/Trf_CheckOptions/3.md), [Trf\_SetOption(3)](/Trf_SetOption/3.md), [Trf\_SetObjOption(3)](/Trf_SetObjOption/3.md), [Trf\_QueryOptions(3)](/Trf_QueryOptions/3.md), [Trf\_SeekQueryOptions(3)](/Trf_SeekQueryOptions/3.md), [Trf\_WriteProc(3)](/Trf_WriteProc/3.md), [Trf\_CreateCtrlBlock(3)](/Trf_CreateCtrlBlock/3.md), [Trf\_DeleteCtrlBlock(3)](/Trf_DeleteCtrlBlock/3.md), [Trf\_TransformCharacter(3)](/Trf_TransformCharacter/3.md), [Trf\_FlushTransformation(3)](/Trf_FlushTransformation/3.md), [Trf\_ClearCtrlBlock(3)](/Trf_ClearCtrlBlock/3.md), [Trf\_QueryMaxRead(3)](/Trf_QueryMaxRead/3.md), [Trf\_Register(3)](/Trf_Register/3.md), [Trf\_ConverterOptions(3)](/Trf_ConverterOptions/3.md), [Trf\_MDStart(3)](/Trf_MDStart/3.md), [Trf\_MDUpdate(3)](/Trf_MDUpdate/3.md), [Trf\_MDUpdateBuf(3)](/Trf_MDUpdateBuf/3.md), [Trf\_MDFinal(3)](/Trf_MDFinal/3.md), [Trf\_MDCheck(3)](/Trf_MDCheck/3.md), [Trf\_RegisterMessageDigest(3)](/Trf_RegisterMessageDigest/3.md), [Trf\_LoadLibrary(3)](/Trf_LoadLibrary/3.md), [Trf\_XorBuffer(3)](/Trf_XorBuffer/3.md), [Trf\_ShiftRegister(3)](/Trf_ShiftRegister/3.md), [Trf\_FlipRegisterShort(3)](/Trf_FlipRegisterShort/3.md), [Trf\_FlipRegisterLong(3)](/Trf_FlipRegisterLong/3.md), [Trf\_InitStubs(3)](/Trf_InitStubs/3.md)
