Category : Printer + Display Graphics
Archive   : GFB101.ZIP
Filename : GIFCODE.H

 
Output of file : GIFCODE.H contained in archive : GFB101.ZIP
/* gifcode.h - Include file for GIF encoder/decoder routines. */

#ifndef P_DEFINED
#define P_DEFINED
#ifdef NOPROTOS
#define P(a,b) b
#else
#define P(a,b) a
#endif
#endif

#define GIF_MAXCODES 4096
typedef struct {
FFILE *ff;
unsigned char curblock[256];
int curblocksize,curblockpos;
int nbits;
long bits;
int datasize;
int clear,eoi;
int prefix[GIF_MAXCODES];
unsigned char suffix[GIF_MAXCODES];
int codesize,codemask;
int avail;
union {
struct {
int sl_ptr[GIF_MAXCODES];
int sl_index;
unsigned char sl_suffix[GIF_MAXCODES];
int sl_newprefix[GIF_MAXCODES];
int sl_next[GIF_MAXCODES];
int curprefix;
} e;
struct {
int prevc;
unsigned char first[GIF_MAXCODES];
unsigned char cstack[GIF_MAXCODES];
int csttop;
} d;
} u;
} GIF_CODER;

/* functions/macros used internally only: */

extern int gif___f_decode_c P((GIF_CODER *gc),());

/* functions/macros for external use: */


extern void gif_start_encoding P((GIF_CODER *gc, FFILE *ff, int datasize),());

/* Prepares to encode an image to ff. Normally datasize will be the bits per
pixel for the image, except for binary images where datasize = 2. */

extern int gif_encode_c P((int c, GIF_CODER *gc),());

/* Encodes a single pixel. Returns 0 on success, or -1 on failure. */

extern int gif_end_encoding P((GIF_CODER *gc),());

/* Ends encoding. Returns 0 on success, or -1 on failure. */

extern void gif_start_decoding P((GIF_CODER *gc, FFILE *ff, int datasize),());
/* Prepares to decode an image from ff. Normally datasize will be the bits per
pixel for the image, except for binary images where datasize = 2. */

#define gif_decode_c(gc) ((gc)->u.d.csttop>0 \
? (gc)->u.d.cstack[--((gc)->u.d.csttop)] : gif___f_decode_c(gc))

/* Decodes a single pixel. Returns a pixel value on success, or -1
on failure. */

int gif_end_decoding P((GIF_CODER *gc),());

/* Ends decoding. Returns 0 on success, or -1 on failure. */



  3 Responses to “Category : Printer + Display Graphics
Archive   : GFB101.ZIP
Filename : GIFCODE.H

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/