gro: Optimise length comparison in skb_gro_header
[linux-2.6] / firmware / WHENCE
1              **********
2              * WHENCE *
3              **********
4
5 This file attempts to document the origin and licensing information,
6 if known, for each piece of firmware distributed for use with the Linux
7 kernel.
8
9 --------------------------------------------------------------------------
10
11 Driver: ambassador -- Madge Ambassador (Collage PCI 155 Server) ATM NIC.
12
13 File: firmware/atmsar11.fw
14
15 Licence: Allegedly GPLv2+, but no source visible. Marked:
16
17   Madge Ambassador ATM Adapter microcode.
18   Copyright (C) 1995-1999  Madge Networks Ltd.
19
20   This microcode data is placed under the terms of the GNU General
21   Public License. The GPL is contained in /usr/doc/copyright/GPL on a
22   Debian system and in the file COPYING in the Linux kernel source.
23
24   We would prefer you not to distribute modified versions without
25   consultation and not to ask for assembly/other microcode source.
26
27 --------------------------------------------------------------------------
28
29 Driver: korg1212 -- Korg 1212 IO audio device
30
31 File: korg/k1212.dsp
32
33 Licence: Unknown
34
35 Found in alsa-firmware package in hex form; no licensing information.
36
37 --------------------------------------------------------------------------
38
39 Driver: maestro3 -- ESS Allegro Maestro3 audio device
40
41 File: ess/maestro3_assp_kernel.fw
42 File: ess/maestro3_assp_minisrc.fw
43
44 Licence: Unknown
45
46 Found in alsa-firmware package in hex form with a comment claiming to
47 be GPLv2+, but without source -- and with another comment saying "ESS
48 drops binary dsp code images on our heads, but we don't get to see
49 specs on the dsp."
50
51 --------------------------------------------------------------------------
52
53 Driver: ymfpci -- Yamaha YMF724/740/744/754 audio devices
54
55 File: yamaha/ds1_ctrl.fw
56 File: yamaha/ds1_dsp.fw
57 File: yamaha/ds1e_ctrl.fw
58
59 Licence: Unknown
60
61 Found alsa-firmware package in hex form, with the following comment:
62    Copyright (c) 1997-1999 Yamaha Corporation. All Rights Reserved.
63
64 --------------------------------------------------------------------------
65
66 Driver: SCSI_ADVANSYS - AdvanSys SCSI
67
68 File: advansys/mcode.bin
69 File: advansys/3550.bin
70 File: advansys/38C0800.bin
71 File: advansys/38C1600.bin
72
73 Licence: BSD, no source available.
74
75 Found in hex form in kernel source.
76
77 --------------------------------------------------------------------------
78
79 Driver: SCSI_QLOGIC_1280 - Qlogic QLA 1240/1x80/1x160 SCSI support
80
81 File: qlogic/1040.bin
82 File: qlogic/1280.bin
83 File: qlogic/12160.bin
84
85 Licence: Allegedly GPLv2+, but no source visible. Marked:
86
87                    QLOGIC LINUX SOFTWARE
88   QLogic ISP1280/ device driver for Linux 2.2.x and 2.4.x
89   Copyright (C) 2001 Qlogic Corporation (www.qlogic.com)
90
91 --------------------------------------------------------------------------
92 Driver: smctr -- SMC ISA/MCA Token Ring adapter
93
94 File: tr_smctr.bin
95 Info: MCT.BIN v6.3C1 03/01/95
96
97 Original licence info:
98
99  * This firmware is licensed to you strictly for use in conjunction
100  * with the use of SMC TokenRing adapters. There is no waranty
101  * expressed or implied about its fitness for any purpose.
102
103 --------------------------------------------------------------------------
104
105 Driver: kaweth -- USB KLSI KL5USB101-based Ethernet device
106
107 File: kaweth/new_code.bin
108 File: kaweth/new_code_fix.bin
109 File: kaweth/trigger_code.bin
110 File: kaweth/trigger_code_fix.bin
111
112 Licence: Unknown
113
114 Found in hex form in the kernel source.
115
116 --------------------------------------------------------------------------
117
118 Driver: ttusb-budget -- Technotrend/Hauppauge Nova-USB devices
119
120 File: ttusb-budget/dspbootcode.bin
121
122 Licence: Unknown
123
124 Found in hex form in the kernel source.
125
126 --------------------------------------------------------------------------
127
128 Driver: keyspan -- USB Keyspan USA-xxx serial device
129
130 File: keyspan/mpr.fw
131 File: keyspan/usa18x.fw
132 File: keyspan/usa19.fw
133 File: keyspan/usa19qi.fw
134 File: keyspan/usa19qw.fw
135 File: keyspan/usa19w.fw
136 File: keyspan/usa28.fw
137 File: keyspan/usa28xa.fw
138 File: keyspan/usa28xb.fw
139 File: keyspan/usa28x.fw
140 File: keyspan/usa49w.fw
141 File: keyspan/usa49wlc.fw
142
143 Converted from Intel HEX files, used in our binary representation of ihex.
144
145 Original licence information:
146
147                 Copyright (C) 1999-2001
148                 Keyspan, A division of InnoSys Incorporated ("Keyspan")
149
150         as an unpublished work. This notice does not imply unrestricted or
151         public access to the source code from which this firmware image is
152         derived.  Except as noted below this firmware image may not be
153         reproduced, used, sold or transferred to any third party without
154         Keyspan's prior written consent.  All Rights Reserved.
155
156         Permission is hereby granted for the distribution of this firmware
157         image as part of a Linux or other Open Source operating system kernel
158         in text or binary form as required.
159
160         This firmware may not be modified and may only be used with
161         Keyspan hardware.  Distribution and/or Modification of the
162         keyspan.c driver which includes this firmware, in whole or in
163         part, requires the inclusion of this statement."
164
165 --------------------------------------------------------------------------
166
167 Driver: keyspan_pda -- USB Keyspan PDA single-port serial device
168
169 File: keyspan_pda/keyspan_pda.fw
170 Source: keyspan_pda/keyspan_pda.S
171
172 File: keyspan_pda/xircom_pgs.fw
173 Source: keyspan_pda/xircom_pgs.S
174
175 Licence: GPLv2+
176
177 Compiled from original 8051 source into Intel HEX, used in our binary ihex form.
178
179 --------------------------------------------------------------------------
180
181 Driver: emi26 -- EMI 2|6 USB Audio interface
182
183 File: emi26/bitstream.fw
184 Info: VERSION=1.1.1.131 DATE=2001dec06
185
186 File: emi26/firmware.fw
187 Info: VERSION=1.0.2.916 DATE=12.02.2002
188
189 File: emi26/loader.fw
190
191 Converted from Intel HEX files, used in our binary representation of ihex.
192
193 Original licence information:
194 /*
195  * This firmware is for the Emagic EMI 2|6 Audio Interface
196  *
197  * The firmware contained herein is Copyright (c) 1999-2002 Emagic
198  * as an unpublished work. This notice does not imply unrestricted
199  * or public access to this firmware which is a trade secret of Emagic,
200  * and which may not be reproduced, used, sold or transferred to
201  * any third party without Emagic's written consent. All Rights Reserved.
202  *
203  * Permission is hereby granted for the distribution of this firmware
204  * image as part of a Linux or other Open Source operating system kernel
205  * in text or binary form as required.
206  *
207  * This firmware may not be modified and may only be used with the
208  * Emagic EMI 2|6 Audio Interface. Distribution and/or Modification of
209  * any driver which includes this firmware, in whole or in part,
210  * requires the inclusion of this statement.
211  */
212
213 --------------------------------------------------------------------------
214
215 Driver: emi62 -- EMI 6|2m USB Audio interface
216
217 File: emi62/bitstream.fw
218 Info: VERSION=1.0.0.191 DATE= 2002oct28
219
220 File: emi62/loader.fw
221 Source: EMILOAD.HEX
222 Info: VERSION=1.0.2.002 DATE=10.01.2002
223
224 File: emi62/midi.fw
225 Source: EMI62MFW.HEX
226 Info: VERSION=1.04.062 DATE=16.10.2002
227
228 File: emi62/spdif.fw
229 Source: EMI62SFW.HEX
230 Info: VERSION=1.04.062 DATE=16.10.2002
231
232 Converted from Intel HEX files, used in our binary representation of ihex.
233
234 Original licence information: None
235
236 --------------------------------------------------------------------------
237
238 Driver: ti_usb_3410_5052 -- USB TI 3410/5052 serial device
239
240 File: ti_3410.fw
241 Info: firmware 9/10/04 FW3410_Special_StartWdogOnStartPort
242
243 File: ti_5052.fw
244 Info: firmware 9/18/04
245
246 Licence: Allegedly GPLv2+, but no source visible. Marked:
247          Copyright (C) 2004 Texas Instruments
248
249 Found in hex form in kernel source.
250
251 --------------------------------------------------------------------------
252
253 Driver: ti_usb_3410_5052 -- Multi-Tech USB cell modems
254
255 File: mts_cdma.fw
256 File: mts_gsm.fw
257 File: mts_edge.fw
258
259 Licence: "all firmware components are redistributable in binary form"
260          per support@multitech.com
261          Copyright (C) 2005 Multi-Tech Systems, Inc.
262
263 Found in hex form in ftp://ftp.multitech.com/wireless/wireless_linux.zip
264
265 --------------------------------------------------------------------------
266
267 Driver: whiteheat -- USB ConnectTech WhiteHEAT serial device
268
269 File: whiteheat.fw
270 Version: 4.06
271
272 File: whiteheat_loader.fw
273 File: whiteheat_loader_debug.fw
274
275 Licence: Allegedly GPLv2, but no source visible. Marked:
276          Copyright (C) 2000-2002  ConnectTech Inc
277
278 Debug loader claims the following behaviour:
279         Port 1 LED flashes when the vend_ax program is running
280         Port 2 LED flashes when any SETUP command arrives
281         Port 3 LED flashes when any valid VENDOR request occurs
282         Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs
283
284 Converted from Intel HEX files, used in our binary representation of ihex.
285
286 --------------------------------------------------------------------------
287
288 Driver: ip2 -- Computone IntelliPort Plus serial device
289
290 File: intelliport2.bin
291
292 Licence: Unknown
293
294 Found in hex form in kernel source.
295
296 --------------------------------------------------------------------------
297
298 Driver: CPiA2 -- cameras based on Vision's CPiA2
299
300 File: cpia2/stv0672_vp4.bin
301
302 Licence: Allegedly GPLv2+, but no source visible. Marked:
303         Copyright (C) 2001 STMicroelectronics, Inc.
304         Contact:  steve.miller@st.com
305         Description: This file contains patch data for the CPiA2 (stv0672) VP4.
306
307 Found in hex form in kernel source.
308
309 --------------------------------------------------------------------------
310
311 Driver: DABUSB -- Digital Audio Broadcasting (DAB) Receiver for USB and Linux
312
313 File: dabusb/firmware.fw
314 File: dabusb/bitstream.bin
315
316 Licence: Distributable
317
318  * Copyright (C) 1999 BayCom GmbH
319  *
320  * Redistribution and use in source and binary forms, with or without
321  * modification, are permitted provided that redistributions of source
322  * code retain the above copyright notice and this comment without
323  * modification.
324
325 --------------------------------------------------------------------------
326
327 Driver: USB_VICAM -- USB 3com HomeConnect (aka vicam)
328
329 File: vicam/firmware.fw
330
331 Licence: Unknown
332
333 Found in hex form in kernel source.
334
335 --------------------------------------------------------------------------
336
337 Driver: USB_SERIAL_EDGEPORT - USB Inside Out Edgeport Serial Driver
338
339 File: edgeport/boot.fw
340 File: edgeport/boot2.fw
341 File: edgeport/down.fw
342 File: edgeport/down2.fw
343
344 Licence: Allegedly GPLv2+, but no source visible. Marked:
345 //**************************************************************
346 //* Edgeport/4 Binary Image
347 //* Generated by HEX2C v1.06
348 //* Copyright (C) 1998 Inside Out Networks, All rights reserved.
349 //**************************************************************
350
351 Found in hex form in kernel source.
352
353 --------------------------------------------------------------------------
354
355 Driver: USB_SERIAL_EDGEPORT_TI - USB Inside Out Edgeport Serial Driver
356 (TI Devices)
357
358 File: edgeport/down3.bin
359
360 Licence:
361 //**************************************************************
362 //* Edgeport Binary Image (for TI based products)
363 //* Generated by TIBin2C v2.00 (watchport)
364 //* Copyright (C) 2001 Inside Out Networks, All rights reserved.
365 //**************************************************************
366
367 Found in hex form in kernel source.
368
369 --------------------------------------------------------------------------
370
371 Driver: ATARI_DSP56K - Atari DSP56k support
372
373 File: dsp56k/bootstrap.bin
374 Source: dsp56k/bootstrap.asm
375
376 Licence: GPLv2 or later
377
378 DSP56001 assembler, possibly buildable with a56 from 
379 http://www.zdomain.com/a56.html
380
381 --------------------------------------------------------------------------
382
383 Driver: SND_SB16_CSP - Sound Blaster 16/AWE CSP support
384
385 File: sb16/mulaw_main.csp
386 File: sb16/alaw_main.csp
387 File: sb16/ima_adpcm_init.csp
388 File: sb16/ima_adpcm_playback.csp
389 File: sb16/ima_adpcm_capture.csp
390
391 Licence: Allegedly GPLv2+, but no source visible. Marked:
392 /*
393  *  Copyright (c) 1994 Creative Technology Ltd.
394  *  Microcode files for SB16 Advanced Signal Processor
395  */
396
397 Found in hex form in kernel source.
398
399 --------------------------------------------------------------------------
400
401 Driver: CASSINI - Sun Cassini
402
403 File: sun/cassini.bin
404
405 Licence: Unknown
406
407 Found in hex form in kernel source.
408
409 --------------------------------------------------------------------------
410
411 Driver: cxgb3 - Chelsio Terminator 3 1G/10G Ethernet adapter
412
413 File: cxgb3/t3b_psram-1.1.0.bin.ihex
414 File: cxgb3/t3c_psram-1.1.0.bin.ihex
415 file: cxgb3/t3fw-7.1.0.bin.ihex
416
417 License: GPLv2 or OpenIB.org BSD license, no source visible
418
419 --------------------------------------------------------------------------
420
421 Driver: e100 -- Intel PRO/100 Ethernet NIC
422
423 File: e100/d101m_ucode.bin
424 File: e100/d101s_ucode.bin
425 File: e100/d102e_ucode.bin
426
427 Licence: Unknown
428
429 Found in hex form in kernel source.
430
431 --------------------------------------------------------------------------
432
433 Driver: acenic -- Alteon AceNIC Gigabit Ethernet card
434
435 File: acenic/tg1.bin
436 File: acenic/tg2.bin
437
438 Licence: Unknown
439
440 Found in hex form in kernel source, but source allegedly available at
441 http://alteon.shareable.org/
442
443 --------------------------------------------------------------------------
444
445 Driver: tigon3 -- Broadcom Tigon3 based gigabit Ethernet cards
446
447 File: tigon/tg3.bin
448 File: tigon/tg3_tso.bin
449 File: tigon/tg3_tso5.bin
450
451 Licence:
452  * Firmware is:
453  *      Derived from proprietary unpublished source code,
454  *      Copyright (C) 2000-2003 Broadcom Corporation.
455  *
456  *      Permission is hereby granted for the distribution of this firmware
457  *      data in hexadecimal or equivalent format, provided this copyright
458  *      notice is accompanying it.
459
460 Found in hex form in kernel source.
461
462 --------------------------------------------------------------------------
463
464 Driver: ADAPTEC_STARFIRE - Adaptec Starfire/DuraLAN support
465
466 File: adaptec/starfire_rx.bin
467 File: adaptec/starfire_tx.bin
468
469 Licence: Allegedly GPLv2, but no source visible.
470
471 Found in hex form in kernel source, with the following notice:
472
473  BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE IT IS LICENSED "AS IS" AND
474  THERE IS NO WARRANTY FOR THE PROGRAM, INCLUDING BUT NOT LIMITED TO THE
475  IMPLIED WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR A PARTICULAR PURPOSE
476  (TO THE EXTENT PERMITTED BY APPLICABLE LAW). USE OF THE PROGRAM IS AT YOUR
477  OWN RISK. IN NO EVENT WILL ADAPTEC OR ITS LICENSORS BE LIABLE TO YOU FOR
478  DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
479  ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM.
480
481 --------------------------------------------------------------------------
482
483 Driver: TEHUTI - Tehuti Networks 10G Ethernet
484
485 File: tehuti/bdx.bin
486
487 Licence:
488
489  Copyright (C) 2007 Tehuti Networks Ltd.
490
491  Permission is hereby granted for the distribution of this firmware data
492  in hexadecimal or equivalent format, provided this copyright notice is
493  accompanying it.
494
495 Found in hex form in kernel source.
496
497 --------------------------------------------------------------------------
498
499 Driver: TYPHOON - 3cr990 series Typhoon
500
501 File: 3com/typhoon.bin
502
503 Licence:
504 /*
505  * Copyright 1999-2004 3Com Corporation.  All Rights Reserved.
506  *
507  * Redistribution and use in source and binary forms of the 3c990img.h
508  * microcode software are permitted provided that the following conditions
509  * are met:
510  * 1. Redistribution of source code must retain the above copyright
511  *    notice, this list of conditions and the following disclaimer.
512  * 2. Redistribution in binary form must reproduce the above copyright
513  *    notice, this list of conditions and the following disclaimer in the
514  *    documentation and/or other materials provided with the distribution.
515  * 3. The name of 3Com may not be used to endorse or promote products
516  *    derived from this software without specific prior written permission
517  *
518  * THIS SOFTWARE IS PROVIDED BY 3COM ``AS IS'' AND ANY EXPRESS OR
519  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
520  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
521  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
522  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
523  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
524  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
525  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
526  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
527  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
528  *
529  * USER ACKNOWLEDGES AND AGREES THAT PURCHASE OR USE OF THE 3c990img.h
530  * MICROCODE SOFTWARE WILL NOT CREATE OR GIVE GROUNDS FOR A LICENSE BY
531  * IMPLICATION, ESTOPPEL, OR OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS
532  * (PATENT, COPYRIGHT, TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT)
533  * EMBODIED IN ANY OTHER 3COM HARDWARE OR SOFTWARE EITHER SOLELY OR IN
534  * COMBINATION WITH THE 3c990img.h MICROCODE SOFTWARE
535  */
536
537 Found in hex form in kernel source.
538
539 --------------------------------------------------------------------------
540
541 Driver: YAM - YAM driver for AX.25
542
543 File: yam/1200.bin
544 File: yam/9600.bin
545
546 Licence:
547  * (C) F6FBB 1998
548
549 Found in hex form in kernel source.
550
551 --------------------------------------------------------------------------
552
553 Driver: 3C359 - 3Com 3C359 Token Link Velocity XL adapter
554
555 File: 3com/3C359.bin
556
557 Licence:
558 /*
559  * The firmware this driver downloads into the tokenring card is a
560  * separate program and is not GPL'd source code, even though the Linux
561  * side driver and the routine that loads this data into the card are.
562  *
563  * This firmware is licensed to you strictly for use in conjunction
564  * with the use of 3Com 3C359 TokenRing adapters. There is no
565  * waranty expressed or implied about its fitness for any purpose.
566  */
567 /* 3c359_microcode.mac: 3Com 3C359 Tokenring microcode.
568  *
569  * Notes:
570  *  - Loaded from xl_init upon adapter initialization.
571  *
572  * Available from 3Com as part of their standard 3C359 driver.
573  */
574
575 Found in hex form in kernel source.
576
577 --------------------------------------------------------------------------
578
579 Driver: PCMCIA_PCNET - NE2000 compatible PCMCIA adapter
580
581 File: cis/LA-PCM.cis
582
583 Licence: GPL
584
585 Originally developed by the pcmcia-cs project
586
587 --------------------------------------------------------------------------
588
589 Driver: PCMCIA_3C589 - 3Com PCMCIA adapter
590
591 File: cis/3CXEM556.cis
592
593 Licence: GPL
594
595 Originally developed by the pcmcia-cs project
596
597 --------------------------------------------------------------------------
598
599 Driver: PCMCIA_3C574 - 3Com PCMCIA adapter
600
601 File: cis/3CCFEM556.cis
602
603 Licence: GPL
604
605 Originally developed by the pcmcia-cs project
606
607 --------------------------------------------------------------------------
608
609 Driver: PCMCIA_SMC91C92 - SMC 91Cxx PCMCIA
610
611 File: ositech/Xilinx7OD.bin
612
613 Licence: Allegedly GPL, but no source visible. Marked:
614     This file contains the firmware of Seven of Diamonds from OSITECH.
615     (Special thanks to Kevin MacPherson of OSITECH)
616
617 Found in hex form in kernel source.
618
619 --------------------------------------------------------------------------
620
621 Driver: SCSI_QLOGICPTI - PTI Qlogic, ISP Driver
622
623 File: qlogic/isp1000.bin
624
625 Licence: Unknown
626
627 Found in hex form in kernel source.
628
629 --------------------------------------------------------------------------
630
631 Driver: MYRI_SBUS - MyriCOM Gigabit Ethernet
632
633 File: myricom/lanai.bin
634
635 Licence: Unknown
636
637 Found in hex form in kernel source.
638
639 --------------------------------------------------------------------------
640
641 Driver: bnx2x: Broadcom Everest
642
643 File: bnx2x-e1-4.8.53.0.fw.ihex
644 File: bnx2x-e1h-4.8.53.0.fw.ihex
645
646 License:
647   Copyright (c) 2007-2009 Broadcom Corporation
648
649   This file contains firmware data derived from proprietary unpublished
650   source code, Copyright (c) 2007-2009 Broadcom Corporation.
651
652   Permission is hereby granted for the distribution of this firmware data
653   in hexadecimal or equivalent format, provided this copyright notice is
654   accompanying it.
655
656
657 Found in hex form in kernel source.
658
659 --------------------------------------------------------------------------
660
661 Driver: BNX2 - Broadcom NetXtremeII
662
663 File: bnx2/bnx2-mips-06-4.6.16.fw
664 File: bnx2/bnx2-rv2p-06-4.6.16.fw
665 File: bnx2/bnx2-mips-09-4.6.17.fw
666 File: bnx2/bnx2-rv2p-09-4.6.15.fw
667
668 Licence:
669
670  This file contains firmware data derived from proprietary unpublished
671  source code, Copyright (c) 2004 - 2009 Broadcom Corporation.
672
673  Permission is hereby granted for the distribution of this firmware data
674  in hexadecimal or equivalent format, provided this copyright notice is
675  accompanying it.
676
677 Found in hex form in kernel source.
678
679 --------------------------------------------------------------------------
680
681 Driver: DVB AV7110 -- AV7110 cards
682
683 File: av7110/bootcode.bin
684
685 Licence: GPLv2 or later
686
687 ARM assembly source code available at http://www.linuxtv.org/downloads/firmware/Boot.S
688
689 --------------------------------------------------------------------------
690
691 Driver: wavefront - ISA WaveFront sound card
692
693 File: yamaha/yss225_registers.bin
694
695 Licence: Allegedly GPLv2+, but no source visible.
696
697 Found in hex form in kernel source, with the following comment:
698    Copyright (c) 1998-2002 by Paul Davis <pbd@op.net>
699
700 --------------------------------------------------------------------------