Scroll to navigation

Ns_Gzip(3aolserver) AOLserver Library Procedures Ns_Gzip(3aolserver)


NAME

Ns_Gzip, Ns_SetGzipProc - GZIP compression support

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
4.5 AOLserver