Ns_Gzip(3) GZIP compression support

Other Alias

Ns_SetGzipProc

SYNOPSIS

#include "ns.h"



int
Ns_Gzip(buf, len, level, dsPtr)


void
Ns_SetGzipProc(proc)

ARGUMENTS

Tcl_DString    dsPtr    (out)
Output buffer to placed compressed string.
int    len    (in)
Length of string pointed to by buf.
char    *buf    (in)
Pointer to string to compress.
int    level    (in)
Requested GZIP compression level.
Ns_GzipProc    proc    (in)
Procedure to GZIP content.


DESCRIPTION

These functions enable GZIP compress of text buffers.

int Ns_Gzip(buf, len, level, dsPtr)
This function compresses a string pointed to by buf of length len, appending the output to the given dsPtr. The output buffer must already be initialized. The level parameter specifies the compress level between 0 and 9; see the documentation in the zlib.h for details.

The function will return NS_OK if compression was successful, otherwise NS_ERROR. A call to Ns_SetGzipProc to install a compression function must have already occured. The nszlib module will install a suitable function when loaded.

void Ns_SetGzipProc(proc)
This function is used to install a compression function for Ns_Gzip. A call to Ns_SetGzipProc would normally be in the module-load routine of a module which provides compression support, e.g., the nszlib module. The function should match the type Ns_GzipProc:

typedef int Ns_GzipProc(
   char *buf, int len, int level, Tcl_DString *dsPtr
);

KEYWORDS

compress, gzip