diff options
Diffstat (limited to 'X11/extensions/lbxzlib.h')
-rw-r--r-- | X11/extensions/lbxzlib.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/X11/extensions/lbxzlib.h b/X11/extensions/lbxzlib.h new file mode 100644 index 000000000..dc21837a1 --- /dev/null +++ b/X11/extensions/lbxzlib.h @@ -0,0 +1,64 @@ +/* $Xorg: lbxzlib.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */ +/* + * Copyright 1993 Network Computing Devices + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of NCD. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. NCD. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD. + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Dale Tonogai, Network Computing Devices + */ + +#ifndef _ZLIB_H_ +#define _ZLIB_H_ + +#define ZLIB_STRCOMP_OPT "XC-ZLIB" +#define ZLIB_STRCOMP_OPT_LEN 7 + +#define ZLIB_PACKET_HDRLEN 2 +#define ZLIB_MAX_DATALEN 0xfff +#define ZLIB_MAX_PLAIN 270 +#define ZLIB_MAX_OUTLEN (ZLIB_MAX_PLAIN << 1) + +#define ZLIB_COMPRESS_FLAG 0x80 +#define ZLIB_DATALEN_MASK 0x0f + +#define ZLIB_PUT_PKTHDR(p, len, compflag) \ + { \ + (p)[0] = ((unsigned)(len)) >> 8 | ((compflag) ? ZLIB_COMPRESS_FLAG : 0);\ + (p)[1] = (len) & 0xff; \ + } + +#define ZLIB_GET_DATALEN(p) \ + ((((unsigned)((p)[0] & ZLIB_DATALEN_MASK)) << 8) | (unsigned)(p)[1]) + +#define ZLIB_COMPRESSED(p) ((p)[0] & ZLIB_COMPRESS_FLAG) + +struct ZlibInfo; + +extern void * ZlibInit ( int fd, int level ); +extern void ZlibFree ( struct ZlibInfo *comp ); +extern int ZlibFlush ( int fd ); +extern int ZlibStuffInput ( int fd, unsigned char *buffer, int buflen ); +extern void ZlibCompressOn ( int fd ); +extern void ZlibCompressOff ( int fd ); +extern int ZlibWrite ( int fd, unsigned char *buffer, int buflen ); +extern int ZlibWriteV ( int fd, struct iovec *iov, int iovcnt ); +extern int ZlibRead ( int fd, unsigned char *buffer, int buflen ); +extern int ZlibInputAvail ( int fd ); + + +#endif /* _ZLIB_H_ */ |