]> git.saurik.com Git - apple/file_cmds.git/blob - compress/zopen.3
file_cmds-321.100.10.0.1.tar.gz
[apple/file_cmds.git] / compress / zopen.3
1 .\" Copyright (c) 1992, 1993
2 .\" The Regents of the University of California. All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 4. Neither the name of the University nor the names of its contributors
13 .\" may be used to endorse or promote products derived from this software
14 .\" without specific prior written permission.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED 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 .\" @(#)zopen.3 8.1 (Berkeley) 6/9/93
29 .\" $FreeBSD: src/usr.bin/compress/zopen.3,v 1.9 2010/12/11 08:32:16 joel Exp $
30 .\"
31 .Dd June 9, 1993
32 .Dt ZOPEN 3
33 .Os
34 .Sh NAME
35 .Nm zopen
36 .Nd compressed stream open function
37 .Sh SYNOPSIS
38 .Fd #include \&"zopen.h\&"
39 .Ft FILE *
40 .Fn zopen "const char *path" "const char *mode" "int bits"
41 .Sh DESCRIPTION
42 The
43 .Fn zopen
44 function
45 opens the compressed file whose name is the string pointed to by
46 .Fa path
47 and associates a stream with it.
48 .Pp
49 The argument
50 .Fa mode
51 points to one of the following one-character strings:
52 .Bl -tag -width indent
53 .It Dq Li r
54 Open compressed file for reading.
55 The stream is positioned at the beginning of the file.
56 .It Dq Li w
57 Truncate file to zero length or create compressed file for writing.
58 The stream is positioned at the beginning of the file.
59 .El
60 .Pp
61 Any created files will have mode
62 .Pf \\*q Dv S_IRUSR
63 \&|
64 .Dv S_IWUSR
65 \&|
66 .Dv S_IRGRP
67 \&|
68 .Dv S_IWGRP
69 \&|
70 .Dv S_IROTH
71 \&|
72 .Dv S_IWOTH Ns \\*q
73 .Pq Li 0666 ,
74 as modified by the process'
75 umask value (see
76 .Xr umask 2 ) .
77 .Pp
78 Files may only be read or written.
79 Seek operations are not allowed.
80 .Pp
81 The
82 .Fa bits
83 argument, if non-zero, is set to the bits code limit.
84 If zero, the default is 16.
85 See
86 .Xr compress 1
87 for more information.
88 .Sh RETURN VALUES
89 Upon successful completion
90 .Fn zopen
91 returns a
92 .Tn FILE
93 pointer.
94 Otherwise,
95 .Dv NULL
96 is returned and the global variable
97 .Va errno
98 is set to indicate the error.
99 .Sh ERRORS
100 .Bl -tag -width [EINVAL]
101 .It Bq Er EINVAL
102 The
103 .Fa mode
104 or
105 .Fa bits
106 arguments specified to
107 .Fn zopen
108 were invalid.
109 .It Bq Er EFTYPE
110 The compressed file starts with an invalid header, or the compressed
111 file is compressed with more bits than can be handled.
112 .El
113 .Pp
114 The
115 .Fn zopen
116 function may also fail and set
117 .Va errno
118 for any of the errors specified for the routines
119 .Xr fopen 3
120 or
121 .Xr funopen 3 .
122 .Sh SEE ALSO
123 .Xr compress 1 ,
124 .Xr fopen 3 ,
125 .Xr funopen 3
126 .Sh HISTORY
127 The
128 .Nm
129 function
130 first appeared in
131 .Bx 4.4 .
132 .Sh BUGS
133 The
134 .Fn zopen
135 function
136 may not be portable to systems other than
137 .Bx .