# SVC_UncompressHuffmanFromDevice

## Syntax

  `#include <nitro/os/common/systemCall.h>`
  `s32 SVC_UncompressHuffmanFromDevice( const void* srcp,`
  `void* destp,`
  `u8* tableBufp,`
  `const MIReadStreamCallbacks *callbacks``);`

## Arguments

srcp | Source address of Huffman-compressed data.
destp | Destination address for decompression.
tableBufp | Tree table storage buffer (maximum of 512 bytes). When you want to pass the `initStream` function parameter of the `MIReadStreamCallbacks` structure, you can pass it via this buffer. Note, however, that the `initStream` function call trace will be written over by the tree table.
callbacks | Address of the `MIReadStreamCallbacks` socket.

## Return Values

A value that is more than zero denotes the decompressed size. A value that is less than zero denotes an error.

## Description

Decompresses Huffman compression data and writes it in 32-bit units to the specified memory. Match the source address src to the 4-byte boundary. When the size of the compressed data is not a multiple of 4, adjust by padding it with zeros. Compressed data on devices that are not memory mapped can be decompressed directly without using a temporary buffer.

## See Also

`MI_UncompressHuffman`
`SVC_UncompressLZ*`
`SVC_UncompressRL*`

## Revision History

2004/07/22 Initial version.

CONFIDENTIAL