Annotation of src/usr.bin/compress/compress.h, Revision 1.8
1.8 ! otto 1: /* $OpenBSD: compress.h,v 1.7 2003/09/05 04:46:35 tedu Exp $ */
1.1 mickey 2:
3: /*
4: * Copyright (c) 1997 Michael Shalayeff
5: * All rights reserved.
6: *
7: * Redistribution and use in source and binary forms, with or without
8: * modification, are permitted provided that the following conditions
9: * are met:
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: *
1.3 mickey 16: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1.1 mickey 18: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26: * SUCH DAMAGE.
27: *
28: */
29:
1.8 ! otto 30: #include <sys/stat.h>
! 31:
1.6 millert 32: struct z_info {
33: u_int32_t mtime; /* timestamp */
34: u_int32_t crc; /* crc */
35: u_int32_t hlen; /* header length */
36: u_int64_t total_in; /* # bytes in */
37: u_int64_t total_out; /* # bytes out */
38: };
39:
1.3 mickey 40: /*
41: * making it any bigger does not affect perfomance very much.
42: * actually this value is just a little bit better than 8192.
43: */
1.1 mickey 44: #define Z_BUFSIZE 16384
45:
1.6 millert 46: /*
47: * exit codes for compress
48: */
49: #define SUCCESS 0
50: #define FAILURE 1
51: #define WARNING 2
52:
1.3 mickey 53: extern const char main_rcsid[], z_rcsid[], gz_rcsid[], pkzip_rcsid[],
1.7 tedu 54: pack_rcsid[], lzh_rcsid[], null_rcsid[];
55: extern char null_magic[];
1.3 mickey 56:
1.6 millert 57: extern void *z_open(int, const char *, char *, int, u_int32_t, int);
1.2 millert 58: extern FILE *zopen(const char *, const char *,int);
59: extern int zread(void *, char *, int);
60: extern int zwrite(void *, const char *, int);
1.8 ! otto 61: extern int z_close(void *, struct z_info *, const char *, struct stat *);
1.6 millert 62:
1.3 mickey 63:
1.6 millert 64: extern void *gz_open(int, const char *, char *, int, u_int32_t, int);
1.2 millert 65: extern int gz_read(void *, char *, int);
66: extern int gz_write(void *, const char *, int);
1.8 ! otto 67: extern int gz_close(void *, struct z_info *, const char *, struct stat *);
1.2 millert 68: extern int gz_flush(void *, int);
1.3 mickey 69:
1.6 millert 70: extern void *lzh_open(int, const char *, char *, int, u_int32_t, int);
1.3 mickey 71: extern int lzh_read(void *, char *, int);
72: extern int lzh_write(void *, const char *, int);
1.6 millert 73: extern int lzh_close(void *, struct z_info *);
1.3 mickey 74: extern int lzh_flush(void *, int);
1.7 tedu 75:
76: extern void *null_open(int, const char *, char *, int, u_int32_t, int);
77: extern int null_read(void *, char *, int);
78: extern int null_write(void *, const char *, int);
1.8 ! otto 79: extern int null_close(void *, struct z_info *, const char *, struct stat *);
1.7 tedu 80: extern int null_flush(void *, int);
1.8 ! otto 81:
! 82: extern void setfile(const char *, int, struct stat *);