⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gzip.h

📁 freebsd v4.4内核源码
💻 H
字号:
/* * gzip.h -- common declarations for all gzip modules * Copyright (C) 1992-1993 Jean-loup Gailly. * Adapted for FreeBSD boot unpacker by Serge Vakulenko. * This is free software; you can redistribute it and/or modify it under the * terms of the GNU General Public License, see the file COPYING. */typedef unsigned char  uchar;typedef unsigned long  ulong;#define NULL 0#define STORED          0               /* Compression methods */#define COMPRESSED      1#define PACKED          2#define DEFLATED        8               /* methods 3 to 7 reserved */#define INBUFSIZ        0x8000          /* input buffer size */#define OUTBUFSIZ       16384           /* output buffer size */#define OUTBUF_EXTRA    2048            /* required by unlzw() */#define GZIP_MAGIC      "\037\213"      /* gzip files, 1F 8B */#define OLD_GZIP_MAGIC  "\037\236"      /* gzip 0.5 = freeze 1.x */#define PKZIP_MAGIC     "PK\003\004"    /* pkzip files */#define PACK_MAGIC      "\037\036"      /* packed files */#define LZW_MAGIC       "\037\235"      /* lzw files, 1F 9D *//* gzip flag byte */#define ASCII_FLAG      0x01            /* file probably ascii text */#define CONTINUATION    0x02            /* cont. of multi-part gzip file */#define EXTRA_FIELD     0x04            /* extra field present */#define ORIG_NAME       0x08            /* original file name present */#define COMMENT         0x10            /* file comment present */#define ENCRYPTED       0x20            /* file is encrypted */#define RESERVED        0xC0            /* reserved *//* window size--must be a power of two, and *//* at least 32K for zip's deflate method */#define WSIZE           0x8000extern int method;      /* compression method */extern uchar *inbuf;   /* input buffer */extern uchar *outbuf;  /* output buffer */extern uchar *window;  /* Sliding window and suffix table (unlzw) */extern unsigned insize; /* valid bytes in inbuf */extern unsigned inptr;  /* index of next byte to be processed in inbuf */extern unsigned outcnt; /* bytes in output buffer */extern int pkzip;               /* set for a pkzip file */extern int extended;            /* set if extended local header */extern ulong crc;               /* shift register contents */extern ulong output_ptr;        /* total output bytes */extern void unzip (void);extern void check_zipfile (void);extern void updcrc (uchar *s, unsigned n);extern void clear_bufs (void);extern void fill_inbuf (void);extern void flush_window (void);extern void error (char *m);static inline uchar get_byte (){	if (inptr >= insize)		fill_inbuf ();	return (inbuf[inptr++]);}static inline void put_char (uchar c){	window[outcnt++] = c;	if (outcnt == WSIZE)		flush_window();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -