---
name: "Trf_WriteProc"
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_WriteProc"
---

# Trf\_WriteProc(3)

Interface to procedures used by an encoder/decoder to write its transformation results.

## NAME

Trf\_WriteProc - Interface to procedures used by an encoder/decoder to write its transformation results.

## SYNOPSIS

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

**int Trf\_WriteProc**\
 **(**\
\
 	**ClientData clientData,**\
\
 	**unsigned char \*outString,**\
\
 	**int outLen,**\
\
 	**Tcl\_Interp \*interp**\
 **);**

## PARAMETERS

- **ClientData clientData**

  Arbitrary information, defined during controlblock creation.

- **unsigned char \*outString**

  Buffer with characters to write.

- **int outLen**

  Number of characters in buffer.

- **Tcl\_Interp \*interp**

  Interpreter for error messages (NULL possible).

## DESCRIPTION

Procedures of this type are called by an encoder/decoder to write (partial) transformation results, decoupling the final destination from result generation.  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.

## 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\_CreateCtrlBlock(3)](/Trf_CreateCtrlBlock/3.md), [Trf\_DeleteCtrlBlock(3)](/Trf_DeleteCtrlBlock/3.md), [Trf\_TransformCharacter(3)](/Trf_TransformCharacter/3.md), [Trf\_TransformBuffer(3)](/Trf_TransformBuffer/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)
