File: structmsszdd__compressor.html

package info (click to toggle)
libmspack 0.5-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 3,916 kB
  • sloc: sh: 11,332; ansic: 7,879; perl: 131; makefile: 97
file content (202 lines) | stat: -rw-r--r-- 14,403 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>libmspack: msszdd_compressor Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libmspack
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">msszdd_compressor Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A compressor for the SZDD file format.  
 <a href="structmsszdd__compressor.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="mspack_8h_source.html">mspack.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:af3dbd82a982d79c80ad624760cb6b2fb"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmsszdd__compressor.html#af3dbd82a982d79c80ad624760cb6b2fb">compress</a> )(struct <a class="el" href="structmsszdd__compressor.html">msszdd_compressor</a> *self, const char *input, const char *output, off_t length)</td></tr>
<tr class="memdesc:af3dbd82a982d79c80ad624760cb6b2fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an input file and creates a compressed output file in the SZDD compressed file format.  <a href="#af3dbd82a982d79c80ad624760cb6b2fb">More...</a><br/></td></tr>
<tr class="separator:af3dbd82a982d79c80ad624760cb6b2fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af76f143c2131bcccf0f3d10ea8968742"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmsszdd__compressor.html#af76f143c2131bcccf0f3d10ea8968742">set_param</a> )(struct <a class="el" href="structmsszdd__compressor.html">msszdd_compressor</a> *self, int param, unsigned int value)</td></tr>
<tr class="memdesc:af76f143c2131bcccf0f3d10ea8968742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets an SZDD compression engine parameter.  <a href="#af76f143c2131bcccf0f3d10ea8968742">More...</a><br/></td></tr>
<tr class="separator:af76f143c2131bcccf0f3d10ea8968742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4917ae85330b8a827564b69d533b7de7"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmsszdd__compressor.html#a4917ae85330b8a827564b69d533b7de7">last_error</a> )(struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self)</td></tr>
<tr class="memdesc:a4917ae85330b8a827564b69d533b7de7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the error code set by the most recently called method.  <a href="#a4917ae85330b8a827564b69d533b7de7">More...</a><br/></td></tr>
<tr class="separator:a4917ae85330b8a827564b69d533b7de7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A compressor for the SZDD file format. </p>
<p>All fields are READ ONLY.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="mspack_8h.html#a00c23794eac4dab60057cc5b84c2a7ea" title="Creates a new SZDD compressor. ">mspack_create_szdd_compressor()</a>, <a class="el" href="mspack_8h.html#a4053f06c244cab5e880241ecd0a8a64f" title="Destroys an existing SZDD compressor. ">mspack_destroy_szdd_compressor()</a> </dd></dl>
</div><h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="af3dbd82a982d79c80ad624760cb6b2fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* msszdd_compressor::compress)(struct <a class="el" href="structmsszdd__compressor.html">msszdd_compressor</a> *self, const char *input, const char *output, off_t length)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads an input file and creates a compressed output file in the SZDD compressed file format. </p>
<p>The SZDD compression format is quick but gives poor compression. It is possible for the compressed output file to be larger than the input file.</p>
<p>Conventionally, SZDD compressed files have the final character in their filename replaced with an underscore, to show they are compressed. The missing character is stored in the compressed file itself. This is due to the restricted filename conventions of MS-DOS, most operating systems, such as UNIX, simply append another file extension to the existing filename. As mspack does not deal with filenames, this is left up to you. If you wish to set the missing character stored in the file header, use <a class="el" href="structmsszdd__compressor.html#af76f143c2131bcccf0f3d10ea8968742" title="Sets an SZDD compression engine parameter. ">set_param()</a> with the <a class="el" href="mspack_8h.html#aadada238862d04556488c0da24517a30" title="msszdd_compressor::set_param() parameter: the missing character ">MSSZDDC_PARAM_MISSINGCHAR</a> parameter.</p>
<p>"Stream" compression (where the length of the input data is not known) is not possible. The length of the input data is stored in the header of the SZDD file and must therefore be known before any data is compressed. Due to technical limitations of the file format, the maximum size of uncompressed file that will be accepted is 2147483647 bytes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmsszdd__compressor.html" title="A compressor for the SZDD file format. ">msszdd_compressor</a> instance being called </td></tr>
    <tr><td class="paramname">input</td><td>the name of the file to compressed. This is passed passed directly to <a class="el" href="structmspack__system.html#a1a85cac5eeb55db6a432fe3824aa04a3" title="Opens a file for reading, writing, appending or updating. ">mspack_system::open()</a> </td></tr>
    <tr><td class="paramname">output</td><td>the name of the file to write compressed data to. This is passed directly to <a class="el" href="structmspack__system.html#a1a85cac5eeb55db6a432fe3824aa04a3" title="Opens a file for reading, writing, appending or updating. ">mspack_system::open()</a>. </td></tr>
    <tr><td class="paramname">length</td><td>the length of the uncompressed file, or -1 to indicate that this should be determined automatically by using <a class="el" href="structmspack__system.html#a86ceffde52284d3a57d5d555d7484a03" title="Seeks to a specific file offset within an open file. ">mspack_system::seek()</a> on the input file. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an error code, or MSPACK_ERR_OK if successful </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="structmsszdd__compressor.html#af76f143c2131bcccf0f3d10ea8968742" title="Sets an SZDD compression engine parameter. ">set_param()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4917ae85330b8a827564b69d533b7de7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* msszdd_compressor::last_error)(struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the error code set by the most recently called method. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmsszdd__compressor.html" title="A compressor for the SZDD file format. ">msszdd_compressor</a> instance being called </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the most recent error code </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="structmsszdd__compressor.html#af3dbd82a982d79c80ad624760cb6b2fb" title="Reads an input file and creates a compressed output file in the SZDD compressed file format...">compress()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af76f143c2131bcccf0f3d10ea8968742"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* msszdd_compressor::set_param)(struct <a class="el" href="structmsszdd__compressor.html">msszdd_compressor</a> *self, int param, unsigned int value)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets an SZDD compression engine parameter. </p>
<p>The following parameters are defined:</p>
<ul>
<li>#MSSZDDC_PARAM_CHARACTER: the "missing character", the last character in the uncompressed file's filename, which is traditionally replaced with an underscore to show the file is compressed. Traditionally, this can only be a character that is a valid part of an MS-DOS, filename, but libmspack permits any character between 0x00 and 0xFF to be stored. 0x00 is the default, and it represents "no character
  stored".</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmsszdd__compressor.html" title="A compressor for the SZDD file format. ">msszdd_compressor</a> instance being called </td></tr>
    <tr><td class="paramname">param</td><td>the parameter to set </td></tr>
    <tr><td class="paramname">value</td><td>the value to set the parameter to </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>MSPACK_ERR_OK if all is OK, or MSPACK_ERR_ARGS if there is a problem with either parameter or value. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="structmsszdd__compressor.html#af3dbd82a982d79c80ad624760cb6b2fb" title="Reads an input file and creates a compressed output file in the SZDD compressed file format...">compress()</a> </dd></dl>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="mspack_8h_source.html">mspack.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>