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.10 by tdb, Wed Oct 22 15:02:22 2003 UTC vs.
Revision 1.28 by tdb, Tue Jul 27 21:12:47 2004 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines