00001 #ifndef _GIF_LIB_PRIVATE_H
00002 #define _GIF_LIB_PRIVATE_H
00003
00004 #include "gif_lib.h"
00005 #include <stdio.h>
00006 #include <stdlib.h>
00007
00008 #define PROGRAM_NAME "LIBUNGIF"
00009
00010 #ifdef SYSV
00011 #define VersionStr "Gif library module,\t\tEric S. Raymond\n\
00012 (C) Copyright 1997 Eric S. Raymond\n"
00013 #else
00014 #define VersionStr PROGRAM_NAME " IBMPC " GIF_LIB_VERSION \
00015 " Eric S. Raymond, " __DATE__ ", " \
00016 __TIME__ "\n" "(C) Copyright 1997 Eric S. Raymond\n"
00017 #endif
00018
00019 #define LZ_MAX_CODE 4095
00020 #define LZ_BITS 12
00021
00022 #define FLUSH_OUTPUT 4096
00023 #define FIRST_CODE 4097
00024 #define NO_SUCH_CODE 4098
00025
00026 #define FILE_STATE_WRITE 0x01
00027 #define FILE_STATE_SCREEN 0x02
00028 #define FILE_STATE_IMAGE 0x04
00029 #define FILE_STATE_READ 0x08
00030
00031 #define IS_READABLE(Private) (Private->FileState & FILE_STATE_READ)
00032 #define IS_WRITEABLE(Private) (Private->FileState & FILE_STATE_WRITE)
00033
00034 typedef struct GifFilePrivateType {
00035 GifWord FileState, FileHandle,
00036 BitsPerPixel,
00037 ClearCode,
00038 EOFCode,
00039 RunningCode,
00040 RunningBits,
00041 MaxCode1,
00042 LastCode,
00043 CrntCode,
00044 StackPtr,
00045 CrntShiftState;
00046 unsigned long CrntShiftDWord;
00047 unsigned long PixelCount;
00048 FILE *File;
00049 InputFunc Read;
00050 OutputFunc Write;
00051 GifByteType Buf[256];
00052 GifByteType Stack[LZ_MAX_CODE];
00053 GifByteType Suffix[LZ_MAX_CODE + 1];
00054 GifPrefixType Prefix[LZ_MAX_CODE + 1];
00055 } GifFilePrivateType;
00056
00057 extern int _GifError;
00058
00059 #endif