ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/web/www/libstatgrab/index.xhtml
(Generate patch)

Comparing web/www/libstatgrab/index.xhtml (file contents):
Revision 1.19 by tdb, Sun Mar 21 23:58:38 2004 UTC vs.
Revision 1.31 by tdb, Fri Nov 12 11:55:35 2004 UTC

# Line 1 | Line 1
1 < <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 <   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <
4 < <html>
5 <
6 < <head>
7 < <title>i-scream libstatgrab homepage</title>
1 > <!--#include virtual="/doctype.inc" -->
2 >  <head>
3 >    <title>
4 >      i-scream libstatgrab homepage
5 >    </title>
6   <!--#include virtual="/style.inc" -->
7 < </head>
8 <
9 < <body>
10 <
13 < <div id="container">
14 <
15 < <div id="main">
16 <
7 >  </head>
8 >  <body>
9 >    <div id="container">
10 >      <div id="main">
11   <!--#include virtual="/header.inc" -->
12 <
13 < <div id="contents">
14 <
15 < <h1 class="top">i-scream libstatgrab homepage</h1>
16 <
17 < <div id="topnav">
18 <  <ul>
19 <    <li><a href="#news">News</a></li>
20 <    <li><a href="#what">What is libstatgrab?</a></li>
21 <    <li><a href="#download">Downloading</a></li>
22 <    <li><a href="#documentation">Documentation</a></li>
23 <    <li><a href="#screenshot">Screenshot</a></li>
24 <  </ul>
25 < </div>
26 <
27 < <h2><a name="news">News</a></h2>
28 <
29 < <p>
30 < To get notifications of new libstatgrab releases why not subscribe
31 < to our project over on <a href="http://freshmeat.net/projects/libstatgrab/">
32 < freshmeat</a>?
33 < </p>
34 <
35 < <h3>Sunday 21 March 2004</h3>
36 < <p>
37 < pystatgrab, a new package containing a set of Python bindings,
38 < has been released. Check out it's <a href="/pystatgrab/">project
39 < page</a>.
40 < </p>
41 <
42 < <h3>Wednesday 10 March 2004</h3>
43 < <p>
44 < Version 0.9 of libstatgrab has been released.<br/>
45 < Download it
46 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.9.tar.gz">here</a>.
47 < </p>
48 < <p>
49 < This release brings new features and new platforms. We've added
50 < information about network interfaces (duplex, speed, etc) along
51 < with further statistics such as i/o packets, i/o errors, and
52 < collisions. Support has also been added for OpenBSD and DragonFly
53 < BSD. Finally some work has been done to reduce the platforms on
54 < which libstatgrab needs elevated privileges. See the NEWS file for
55 < more information.
56 < </p>
57 <
58 < <h3>Wednesday 11 February 2004</h3>
59 < <p>
60 < Version 0.8.2 of libstatgrab has been released.<br/>
61 < Download it
62 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.8.2.tar.gz">here</a>.
63 < </p>
64 < <p>
65 < The main focus of this release is adding support for Solaris 6.
66 < We've also added Python bindings so you can use libstatgrab directly
67 < from Python (see the extras directory). Finally, we've tidied up a
68 < few bits of the code.
69 < </p>
70 <
71 < <h3>Wednesday 21 January 2004</h3>
72 < <p>
73 < Version 0.8.1 of libstatgrab has been released.<br/>
74 < Download it
75 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.8.1.tar.gz">here</a>.
76 < </p>
77 < <p>
78 < This release primarily fixes bugs. On Linux a file descriptor leak was
79 < fixed. On Solaris some significant speed increases were made to the
80 < disk mapping code, along with some bug fixes for Solaris 7 platforms.
81 < Also, the library part of libstatgrab (but not the tools) is now
82 < released under the LGPL instead of the GPL.
83 < </p>
84 <
85 < <h3>Tuesday 6 January 2004</h3>
86 < <p>
87 < Version 0.8 of libstatgrab has been released.<br/>
88 < Download it
89 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.8.tar.gz">here</a>.
90 < </p>
91 < <p>
92 < This release brings support for Linux 2.6 and partial support for Cygwin.
93 < On Solaris libstatgrab now returns disk names using cNtNdNsN names rather
94 < than the older sdN names. There are also a bunch of fixes and optimisations
95 < in various places. Finally, a new function has been added to make it
96 < quicker to drop any elevated privileges libstatgrab may require on some
97 < operating systems.
98 < </p>
99 <
100 < <h3>Wednesday 22 October 2003</h3>
101 < <p>
102 < Version 0.7 of libstatgrab has been released.<br/>
103 < Download it
104 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.7.tar.gz">here</a>.
105 < </p>
106 < <p>
107 < The most significant change in this release is support for NetBSD
108 < 1.6.x. Parts of the FreeBSD code have been optimised, and an initialise
109 < function has been added to allow programs to drop any extra privileges
110 < libstatgrab needs. The list of known file systems has been increased,
111 < and libstatgrab has been tested on even more platforms.  Finally,
112 < saidar has been tweaked to work even if it can't get all the
113 < statistics.
114 < </p>
115 <
116 < <h3>Saturday 18 October 2003</h3>
117 < <p>
118 < Version 0.6.1 of libstatgrab has been released.<br/>
119 < Download it
120 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.6.1.tar.gz">here</a>.
121 < </p>
122 < <p>
123 < This release brings support for FreeBSD 5 on sparc 64, and some
124 < bugfixes in FreeBSD memory statistics. Also, some fixes to saidar,
125 < and statgrab.
126 < </p>
127 <
128 < <h3>Friday 10 October 2003</h3>
129 < <p>
130 < Version 0.6 of libstatgrab has been released.<br/>
131 < You can download it from our mirror site
132 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.6.tar.gz">here</a>.
133 < </p>
134 < <p>
135 < This release includes some exciting new tools, support for FreeBSD
136 < 5.1, and documentation in manpages. Plus some major bugfixes and
137 < packaging enhancements.
138 < </p>
139 <
140 < <h3>Tuesday 09 September 2003</h3>
141 < <p>
142 < We're pleased to announce a new release of libstatgrab.<br/>
143 < You can download version 0.5.1 from
144 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.5.1.tar.gz">here</a>.
145 < </p>
146 <
147 < <h3>Monday 25 August 2003</h3>
148 < <p>
149 < We're pleased to announce a new release of libstatgrab.<br/>
150 < You can download version 0.5 from
151 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.5.tar.gz">here</a>.
152 < </p>
153 < <p>
154 < This release provides both documentation and examples, which
155 < we hope will make the package more useable. Stay tuned for the
156 < next release with some useful tools.
157 < </p>
158 <
159 < <h2><a name="what">What is libstatgrab?</a></h2>
160 <
161 < <p>
162 < libstatgrab is a library that provides cross platform access to
163 < statistics about the system on which it's run. It's written in C and
164 < presents a selection of useful interfaces which can be used to access
165 < key system statistics. The current list of statistics includes CPU
166 < usage, memory utilisation, disk usage, process counts, network
167 < traffic, disk I/O, and more.
168 < </p>
169 <
170 < <p>
171 < The current list of platforms is Solaris 2.x, Linux 2.2/2.4/2.6,
172 < FreeBSD 4.x/5.x, NetBSD 1.6.x, OpenBSD 3.x, DragonFly BSD 1.0, and
173 < Cygwin. The aim is to extend this to include as many operating
174 < systems as possible.
175 < </p>
176 <
177 < <p>
178 < The package also includes a couple of useful tools. The first,
179 < <a href="#screenshot">saidar</a>, provides a curses-based interface to
180 < viewing the current state of the system. The second, statgrab, gives a
181 < sysctl-style interface to the statistics gathered by libstatgrab. This
182 < extends the use of libstatgrab to people writing scripts or anything
183 < else that can't easily make C function calls. Included with statgrab is
184 < a script to generate an <a href="http://www.mrtg.org">MRTG</a>
185 < configuration file to use statgrab.
186 < </p>
187 <
188 < <h2><a name="download">Downloading</a></h2>
189 <
190 < <p>
191 < The latest version of libstatgrab can be downloaded from our
192 < primary download
193 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/">mirror</a>.
194 < All downloads are pgp signed using our <a href="/pgpkey.shtml">PGP Key</a>.
195 < </p>
196 <
197 < <p>
198 < For installation instructions see the README and INSTALL files
199 < contained within the archive. If you're using
200 < <a href="http://www.freebsd.org">FreeBSD</a> you can make use of the
201 < <a href="http://www.freshports.org/devel/libstatgrab">devel/libstatgrab</a>
202 < port to install libstatgrab for you.
203 < </p>
204 <
205 < <h2><a name="documentation">Documentation</a></h2>
206 <
207 < <p>
208 < The only online documentation we have at the moment is the manual
209 < pages converted in to HTML format. It's probably best to start with
210 < the overview manual page:
211 < </p>
212 <
213 < <ul>
214 < <li><a href="statgrab.html">statgrab(3)</a></li>
215 < </ul>
216 <
217 < <p>
218 < Then we have the manual pages for each function:
219 < </p>
220 <
221 < <ul>
222 < <li><a href="cpu_percent_usage.html">cpu_percent_usage(3)</a></li>
223 < <li><a href="get_diskio_stats.html">get_diskio_stats(3)</a></li>
224 < <li><a href="get_general_stats.html">get_general_stats(3)</a></li>
225 < <li><a href="get_load_stats.html">get_load_stats(3)</a></li>
226 < <li><a href="get_memory_stats.html">get_memory_stats(3)</a></li>
227 < <li><a href="get_network_iface_stats.html">get_network_iface_stats(3)</a></li>
228 < <li><a href="get_network_stats.html">get_network_stats(3)</a></li>
229 < <li><a href="get_page_stats.html">get_page_stats(3)</a></li>
230 < <li><a href="get_process_stats.html">get_process_stats(3)</a></li>
231 < <li><a href="get_user_stats.html">get_user_stats(3)</a></li>
232 < </ul>
233 <
234 < <h2><a name="screenshot">Screenshot</a></h2>
235 <
236 < <p>
237 < Here's what saidar looks like when it's running:
238 < </p>
239 < <p>
240 < <img src="saidar.png" alt="saidar screenshot" />
241 < </p>
242 < </div>
243 <
12 >        <div id="contents">
13 >          <h1 class="top">
14 >            i-scream libstatgrab homepage
15 >          </h1>
16 >          <div id="topnav">
17 >            <ul>
18 >              <li>
19 >                <a href="#news">News</a>
20 >              </li>
21 >              <li>
22 >                <a href="#what">What is libstatgrab?</a>
23 >              </li>
24 >              <li>
25 >                <a href="#download">Downloading</a>
26 >              </li>
27 >              <li>
28 >                <a href="#bindings">Language Bindings</a>
29 >              </li>
30 >              <li>
31 >                <a href="#development">Development</a>
32 >              </li>
33 >              <li>
34 >                <a href="#documentation">Documentation</a>
35 >              </li>
36 >              <li>
37 >                <a href="#screenshot">Screenshot</a>
38 >              </li>
39 >            </ul>
40 >          </div>
41 >          <h2>
42 >            <a id="news">News</a>
43 >          </h2>
44 >          <p>
45 >            To get notifications of new libstatgrab releases why not
46 >            subscribe to our project over on
47 >            <a href="http://freshmeat.net/projects/libstatgrab/">freshmeat</a>?
48 >          </p>
49 >          <h3>
50 >            Friday 12 November 2004
51 >          </h3>
52 >          <p>
53 >            Version 0.11 of libstatgrab has been released.<br />
54 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
55 >          </p>
56 >          <p>
57 >            This release brings support for HP-UX (version 11.11), and
58 >            also fixes a few other minor issues.
59 >          </p>
60 >          <h3>
61 >            Wednesday 25 August 2004
62 >          </h3>
63 >          <p>
64 >            Version 0.10.3 of libstatgrab has been released.<br />
65 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
66 >          </p>
67 >          <p>
68 >            This release adds a handful of new features to statgrab, and
69 >            adds support for FreeBSD 6.0-CURRENT. See the NEWS file in
70 >            the tarball for more details.
71 >          </p>
72 >          <h3>
73 >            Tuesday 27 July 2004
74 >          </h3>
75 >          <p>
76 >            Version 0.10.2 of libstatgrab has been released.<br />
77 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
78 >          </p>
79 >          <p>
80 >            This release fixes a problem with the shared library
81 >            version number in the last release.
82 >          </p>
83 >          <h3>
84 >            Monday 26 July 2004
85 >          </h3>
86 >          <p>
87 >            Version 0.10.1 of libstatgrab has been released.<br />
88 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
89 >          </p>
90 >          <p>
91 >            This release consists almost entirely of bugfixes.
92 >            We've fixed compile-time errors for recent OpenBSD and
93 >            NetBSD platforms, and also a minor bug in statgrab
94 >            that broke network statistics on Solaris. New
95 >            variables have been added to the pkg-config file to
96 >            suggest ownership and permissions of binaries, and
97 >            we've added error reporting functions that store errno
98 >            values. There's also other minor fixes detailed in the
99 >            NEWS file.
100 >          </p>
101 >          <h3>
102 >            Thursday 20 May 2004
103 >          </h3>
104 >          <p>
105 >            Version 0.10 of libstatgrab has been released.<br />
106 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
107 >          </p>
108 >          <p>
109 >            This release concentrates heavily on standardising the names
110 >            of functions and structures throughout libstatgrab. Although
111 >            this will mean changes for existing programs, in the long run
112 >            we hope it'll make things both clearer and easier. However,
113 >            for those who still need the old functions we have provided
114 >            compatibility wrappers. See the NEWS file for details.
115 >          </p>
116 >          <p>
117 >            The other main change in this release is a new function to
118 >            provide full details on currently running processes. See the
119 >            documentation for sg_get_process_stats for details. Along with
120 >            this there are compare functions for use with qsort for sorting
121 >            process, network, and disk io statistics. We've also introduced
122 >            error reporting functions that allow calling applications to
123 >            see why libstatgrab has returned a failure. See sg_get_error.
124 >          </p>
125 >          <p>
126 >            Finally, we've added support for NetBSD 2.0 and tidied up lots
127 >            of areas of the code. This release does not include the python
128 >            bindings - they're now available as their own project called
129 >            <a href="/pystatgrab/">pystatgrab</a>.
130 >          </p>
131 >          <h3>
132 >            Sunday 21 March 2004
133 >          </h3>
134 >          <p>
135 >            pystatgrab, a new package containing a set of Python
136 >            bindings, has been released. Check out it's
137 >            <a href="/pystatgrab/">project page</a>.
138 >          </p>
139 >          <h3>
140 >            Wednesday 10 March 2004
141 >          </h3>
142 >          <p>
143 >            Version 0.9 of libstatgrab has been released.<br />
144 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
145 >          </p>
146 >          <p>
147 >            This release brings new features and new platforms. We've
148 >            added information about network interfaces (duplex, speed,
149 >            etc) along with further statistics such as i/o packets, i/o
150 >            errors, and collisions. Support has also been added for
151 >            OpenBSD and DragonFly BSD. Finally some work has been done
152 >            to reduce the platforms on which libstatgrab needs elevated
153 >            privileges. See the NEWS file for more information.
154 >          </p>
155 >          <h3>
156 >            Wednesday 11 February 2004
157 >          </h3>
158 >          <p>
159 >            Version 0.8.2 of libstatgrab has been released.<br />
160 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
161 >          </p>
162 >          <p>
163 >            The main focus of this release is adding support for
164 >            Solaris 6. We've also added Python bindings so you can use
165 >            libstatgrab directly from Python (see the extras
166 >            directory). Finally, we've tidied up a few bits of the
167 >            code.
168 >          </p>
169 >          <h3>
170 >            Wednesday 21 January 2004
171 >          </h3>
172 >          <p>
173 >            Version 0.8.1 of libstatgrab has been released.<br />
174 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
175 >          </p>
176 >          <p>
177 >            This release primarily fixes bugs. On Linux a file
178 >            descriptor leak was fixed. On Solaris some significant
179 >            speed increases were made to the disk mapping code, along
180 >            with some bug fixes for Solaris 7 platforms. Also, the
181 >            library part of libstatgrab (but not the tools) is now
182 >            released under the LGPL instead of the GPL.
183 >          </p>
184 >          <h3>
185 >            Tuesday 6 January 2004
186 >          </h3>
187 >          <p>
188 >            Version 0.8 of libstatgrab has been released.<br />
189 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
190 >          </p>
191 >          <p>
192 >            This release brings support for Linux 2.6 and partial
193 >            support for Cygwin. On Solaris libstatgrab now returns disk
194 >            names using cNtNdNsN names rather than the older sdN names.
195 >            There are also a bunch of fixes and optimisations in
196 >            various places. Finally, a new function has been added to
197 >            make it quicker to drop any elevated privileges libstatgrab
198 >            may require on some operating systems.
199 >          </p>
200 >          <h2>
201 >            <a id="what">What is libstatgrab?</a>
202 >          </h2>
203 >          <p>
204 >            libstatgrab is a library that provides cross platform
205 >            access to statistics about the system on which it's run.
206 >            It's written in C and presents a selection of useful
207 >            interfaces which can be used to access key system
208 >            statistics. The current list of statistics includes CPU
209 >            usage, memory utilisation, disk usage, process counts,
210 >            network traffic, disk I/O, and more.
211 >          </p>
212 >          <p>
213 >            The current list of platforms is Solaris 2.x, Linux
214 >            2.2/2.4/2.6, FreeBSD 4.x/5.x, NetBSD 1.6.x, OpenBSD 3.x,
215 >            DragonFly BSD 1.0, and Cygwin. The aim is to extend this to
216 >            include as many operating systems as possible.
217 >          </p>
218 >          <p>
219 >            The package also includes a couple of useful tools. The
220 >            first, <a href="#screenshot">saidar</a>, provides a
221 >            curses-based interface to viewing the current state of the
222 >            system. The second, statgrab, gives a sysctl-style
223 >            interface to the statistics gathered by libstatgrab. This
224 >            extends the use of libstatgrab to people writing scripts or
225 >            anything else that can't easily make C function calls.
226 >            Included with statgrab is a script to generate an
227 >            <a href="http://www.mrtg.org">MRTG</a> configuration file
228 >            to use statgrab.
229 >          </p>
230 >          <h2>
231 >            <a id="download">Downloading</a>
232 >          </h2>
233 >          <p>
234 >            The latest version of libstatgrab can be downloaded from
235 >            our <a href="/mirrors.xhtml">mirror sites</a>.
236 >            All downloads are pgp signed using our
237 >            <a href="/pgpkey.xhtml">PGP Key</a>.
238 >          </p>
239 >          <p>
240 >            For installation instructions see the README and INSTALL
241 >            files contained within the archive. If you're using
242 >            <a href="http://www.freebsd.org">FreeBSD</a> you can make
243 >            use of the
244 >            <a href="http://www.freshports.org/devel/libstatgrab">
245 >            devel/libstatgrab</a> port to install libstatgrab for you.
246 >          </p>
247 >          <h2>
248 >            <a id="bindings">Language Bindings</a>
249 >          </h2>
250 >          <ul>
251 >            <li>
252 >              <a href="/pystatgrab/">Python</a>
253 >            </li>
254 >            <li>
255 >              <a href="http://pecl.php.net/statgrab/">PHP (external)</a>
256 >            </li>
257 >            <li>
258 >              <a href="http://search.cpan.org/dist/Unix-Statgrab/">Perl (external)</a>
259 >            </li>
260 >          </ul>
261 >          <p>
262 >            Here are links to bindings for higher level languages
263 >            that provide access to libstatgrab. If you've written
264 >            a binding for another language, please get
265 >            <a href="mailto:dev@i-scream.org">in touch</a> so we
266 >            can add a link here.
267 >          </p>
268 >          <h2>
269 >            <a id="development">Development</a>
270 >          </h2>
271 >          <ul>
272 >            <li>
273 >              <a href="/cgi-bin/cvslog.cgi?period=thisweek&amp;module=projects/libstatgrab">Commits this week</a>
274 >            </li>
275 >          </ul>
276 >          <p>
277 >            We develop libstatgrab using the CVS revision control system.
278 >            Using this link you can see what changes we've made this week.
279 >            For more information on our CVS setup see our
280 >            <a href="/cvs.xhtml">CVS page</a>.
281 >          </p>
282 >          <h2>
283 >            <a id="documentation">Documentation</a>
284 >          </h2>
285 >          <p>
286 >            The only online documentation we have at the moment is the
287 >            manual pages converted in to HTML format. It's probably
288 >            best to start with the overview manual page:
289 >          </p>
290 >          <ul>
291 >            <li>
292 >              <a href="statgrab.html">statgrab(3)</a>
293 >            </li>
294 >          </ul>
295 >          <p>
296 >            Then we have the manual pages for each function:
297 >          </p>
298 >          <ul>
299 >            <li>
300 >              <a href="sg_get_cpu_stats.html">sg_get_cpu_stats(3)</a>
301 >            </li>
302 >            <li>
303 >              <a href="sg_get_disk_io_stats.html">sg_get_disk_io_stats(3)</a>
304 >            </li>
305 >            <li>
306 >              <a href="sg_get_fs_stats.html">sg_get_fs_stats(3)</a>
307 >            </li>
308 >            <li>
309 >              <a href="sg_get_host_info.html">sg_get_host_info(3)</a>
310 >            </li>
311 >            <li>
312 >              <a href="sg_get_load_stats.html">sg_get_load_stats(3)</a>
313 >            </li>
314 >            <li>
315 >              <a href="sg_get_mem_stats.html">sg_get_mem_stats(3)</a>
316 >            </li>
317 >            <li>
318 >              <a href="sg_get_network_iface_stats.html">sg_get_network_iface_stats(3)</a>
319 >            </li>
320 >            <li>
321 >              <a href="sg_get_network_io_stats.html">sg_get_network_io_stats(3)</a>
322 >            </li>
323 >            <li>
324 >              <a href="sg_get_page_stats.html">sg_get_page_stats(3)</a>
325 >            </li>
326 >            <li>
327 >              <a href="sg_get_process_stats.html">sg_get_process_stats(3)</a>
328 >            </li>
329 >            <li>
330 >              <a href="sg_get_user_stats.html">sg_get_user_stats(3)</a>
331 >            </li>
332 >          </ul>
333 >          <h2>
334 >            <a id="screenshot">Screenshot</a>
335 >          </h2>
336 >          <p>
337 >            Here's what saidar looks like when it's running:
338 >          </p>
339 >          <p>
340 >            <img src="saidar.png" alt="saidar screenshot" />
341 >          </p>
342 >        </div>
343   <!--#include virtual="/footer.inc" -->
344 <
252 < </div>
253 <
344 >      </div>
345   <!--#include virtual="/menu.inc" -->
346 <
347 < </div>
257 <
258 < </body>
346 >    </div>
347 >  </body>
348   </html>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines