496 lines
22 KiB
Plaintext
496 lines
22 KiB
Plaintext
Subject: Linux-Development Digest #526
|
|
From: Digestifier <Linux-Development-Request@senator-bedfellow.MIT.EDU>
|
|
To: Linux-Development@senator-bedfellow.MIT.EDU
|
|
Reply-To: Linux-Development@senator-bedfellow.MIT.EDU
|
|
Date: Mon, 7 Mar 94 12:13:08 EST
|
|
|
|
Linux-Development Digest #526, Volume #1 Mon, 7 Mar 94 12:13:08 EST
|
|
|
|
Contents:
|
|
Re: Amiga FileSystem, Anyone? (David Holland)
|
|
Re: Any luck with 32 bit ethernet cards? (Andreas Fatum)
|
|
Specialix Driver Round 2 (From specialix) (Alan Drew)
|
|
Re: NEC T130B scsi host (Kevin Lentin)
|
|
Re: AMD 486DX problem (with Linux?) (Cedric Adjih)
|
|
Re: Specialix driver (Alan Cox)
|
|
pre1.0 strange behaviour (Laurent Chemla)
|
|
Re: program runs fine in xxgdb, but not in xterm! (Stupid me!) (Manoj Kasichainula)
|
|
Re: Specialix driver (Ian G Batten)
|
|
Re: dynamic loading (Robert Sanders)
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
Subject: Re: Amiga FileSystem, Anyone?
|
|
From: dholland@husc7.harvard.edu (David Holland)
|
|
Date: 7 Mar 94 04:56:18
|
|
|
|
|
|
rob@pe1chl.ampr.org's message of Sun, 6 Mar 1994 13:07:16 GMT said:
|
|
|
|
> The PC has a specialized floppy disk controller that understands and
|
|
> handles the industry-standard MFM format of formatting diskettes.
|
|
> The Amiga does not use that standard format (and neither does the Mac)
|
|
|
|
As some other people have said, I was wrong in some of my assumptions.
|
|
I can cope with that, even in a public newsgroup. :-)
|
|
|
|
> Classification of 'more or less capable' is entirely yours. I would say
|
|
> the PC disk controller is more capable, in that it handles tasks that
|
|
> need to be done in software on the Amiga and Mac.
|
|
|
|
Hmm, I'd say "capable" means "able to accomplish things". It seems to
|
|
me that drive hardware that can read a wider range of disk formats is
|
|
more capable. This is what the end user sees; only the BIOS or device
|
|
driver writer sees how much internal processing is done. I dunno.
|
|
Meaningless point to argue.
|
|
|
|
Btw, the Amiga's disk hardware may not do the MFM encoding, but the
|
|
encoding is still done in hardware: by the bit-blitter...
|
|
|
|
> >Yes, I have. It's amazing that it can be done at all, however
|
|
> >poorly... :-)
|
|
>
|
|
> Please explain what is poor about it?
|
|
> This seems to be just a general case of DOS-bashing. When you don't
|
|
> know what you are talking about, please don't.
|
|
|
|
The network redirector is a mess, not well documented, and notoriously
|
|
difficult to cope with. Why do you think we don't see alternate
|
|
filesystems (such as for Mac floppies) for the PC that use it? All we
|
|
have is a few network packages from big companies with lots of
|
|
resources, like Novell and Sun.
|
|
|
|
Yes, it does work, mostly. Why do various ordinary tools refuse to
|
|
cooperate with network drives? This problem is not limited to
|
|
low-level disk utilities or anything, you know.
|
|
|
|
> (I am no DOS fan. not at all, even. but saying things that just plainly
|
|
> aren't true is not the way to handle even DOS)
|
|
|
|
Are you absolutely sure I'm the one who doesn't know what he's talking
|
|
about? :-) :-)
|
|
|
|
--
|
|
- David A. Holland | Nobody ever went broke underestimating
|
|
dholland@husc.harvard.edu | the intelligence of the American public.
|
|
|
|
------------------------------
|
|
|
|
From: ace@acelab.ruhr.de (Andreas Fatum)
|
|
Subject: Re: Any luck with 32 bit ethernet cards?
|
|
Date: Sat, 5 Mar 1994 23:33:02 GMT
|
|
|
|
Danny D! (ddambros@nyx10.cs.du.edu) wrote:
|
|
: card. Not much is mentioned in the HOWTO, save that the 3COM 3C579 is a tad
|
|
: lame for a 32 bit card... =)
|
|
Huh? I'm using the 3Com 3c579 (EISA) in my machine and I'm really satisfied
|
|
with the network performance. The 3c579 and the Cogent Emaster+ EM935 XL
|
|
are the fastest 10-Mbit network cards on the market. (The 2/94 issue
|
|
of the German network magazine N&C (Networks & Communication) includes
|
|
a thorough test of the fastest network cards. "Showdown in ethernet-valley")
|
|
|
|
Andreas
|
|
|
|
--
|
|
Andreas Fatum ace@acelab.ruhr.de (Internet)
|
|
postmaster@re.open.de (City-Router)
|
|
Student of CS, ace@acelab.ruhr.sub.org (SubNet)
|
|
University of Dortmund ..!uunet!germany.EU.net!acelab!ace (UUCP/Bang!)
|
|
|
|
------------------------------
|
|
|
|
Date: 7 Mar 94 10:05:02 GMT
|
|
Subject: Specialix Driver Round 2 (From specialix)
|
|
From: cdh@specialix.co.uk (Alan Drew)
|
|
|
|
|
|
|
|
Looks like I've been missing some of the fun. I'm not sure what
|
|
this argument is really all about, tho' I *am* sure that one
|
|
of you kind souls will enlighten me.
|
|
|
|
One thing that I have seen quite clearly tho is that there is some
|
|
argument about what does and does not fit into whatever license
|
|
agreements. Hopefully I can clear that up......
|
|
|
|
A device driver (Partcularily an Intelligent device driver) usual fits
|
|
something like this (in block diagram format) into your system.
|
|
|
|
+-----+ +--------------+ +---------------+ +-------------------+
|
|
| O/S |----| Device Driver|-----| Download Code |----| modem/terminal etc|
|
|
+-----+ +--------------+ +---------------+ +-------------------+
|
|
|
|
The download code is the same on *EVERY* platform. It is a proprietary
|
|
peice of code written specifically to drive the proprietary hardware
|
|
design. As a company we have spent millions of pounds developing
|
|
both that and the hardware for all of our product ranges. It is known
|
|
otherwise as the crown jewels. It doesn't need to be modified it doesn't
|
|
need to be changed. It remains the same wether you are running on RS6000,
|
|
HP/UX, SVr4, BSD, Risc/OS. This is copyright Specialix and will remain so.
|
|
We distribute this bit in hex dump format for those who wish to develop
|
|
thier own device drivers. We also distribute a document called
|
|
"The Technical Reference Manual" which gives complete and comprehensive
|
|
details on how to write an interface to the download code.
|
|
|
|
That interface would be a Device Driver. As a company we have spent
|
|
millions developing these, but we give the source away with every one
|
|
we sell. This is the bit that somebody else develops. The ones we right
|
|
are copyright specialix, if you write one for Linux you can make it
|
|
copyright your grandmother for all we care. One thing is for certain tho'
|
|
if you develop a Linux driver that's copyright your grandmother, and
|
|
then phone here and say "I can't install my driver", we'll tell you to
|
|
go talk to your grandmother. *ON THE OTHER HAND* If you phone here and
|
|
say "Look, I've just developed a linux driver, and when I hold CTS low
|
|
whilst posting a WFLUSH followed by a close to the port and wibble DTR,
|
|
then I lose the last 3 bits of the last byte in my queue", then the
|
|
chances are we'd fall over ourselves to help you 'cos it's likely to
|
|
be a problem with the download code.
|
|
|
|
Also included alongside the technical reference manual, and the binary dump
|
|
for the download code is enough source code and other usefull info
|
|
for you to be able to develop your own device driver. At least that's
|
|
true if you've got some idea of what you are doing.
|
|
|
|
That's the legal stuff and the Specialix standpoint. None of which I perceive
|
|
as being unreasonable. The DTK (that's the manual and the source code) usually
|
|
costs 500 pounds. We do and have done on occasion give the whole thing away
|
|
free if we think it's a worthwhile exercise that will benefit us aswell as
|
|
others.
|
|
|
|
One such ooccasion was only a few months ago. A gentleman in South Africa
|
|
is developing a driver for linux and the Slxos product range. I will not
|
|
name him as he requested when he started that it be kept quite because he
|
|
did not want to be plagued by people badgering him for the driver. Nor do
|
|
I know what the progress is, this is not a Specialix development so I
|
|
have no right to chase the gentleman. He did however say that when he
|
|
has finished the project then he would contact me, when and if he does so
|
|
I will let people know what is available and what its terms of distribution
|
|
are from a Specialix point of view.
|
|
|
|
Above all, one thing that I find highly risible in this constantly recurring
|
|
argument about wether or not commercial companies such as ourselves should
|
|
support free O/S's. Every time, somebody rolls out the argument "I spoke
|
|
to company X the other day and they sounded like they would be really
|
|
helpfull". Some months ago, I posted an offer, 1 Free developers toolkit
|
|
and 1 free SI16. All the software 2 terminal adaptors and 1 AT host card,
|
|
nearly 2000UK pounds worth of kit. I got one offer to set up a mailing
|
|
list and/or an FTP site (thanx, you know who you are) and *ONE* offer
|
|
to develop a driver. Count 'em.... *ONE*. There is an age old axiom
|
|
"Put up, or shut up", I'm sure some of you have heard it. Silly thing is
|
|
that as a commercial organization we listened to your complaints and
|
|
requests and we *DID* something about it, we made you the offer that
|
|
you had all been asking for, we "Put up". You all "shut up". Seriously.
|
|
I couldn't beleive it, I was expecting to swamped by an army of spare
|
|
time free software developers jumping at the opportunity. What I got was
|
|
3 peices of mail from people saying, "I'll buy a card if you do it" or
|
|
"if you have a Linux driver, I'll be in the market for 4 cards". Sadly
|
|
promisory sales of a total of 64 ports do not make a wise
|
|
investment for us, and nobody bar one of you wanted the driver so
|
|
desperately that you were prepared to do the work yourselves.
|
|
And yet you expect us as a commercial organisation (who's sole goal at
|
|
the end of the day is to make money) to take you seriously. Well rest
|
|
assured that we do take you seriously, we are just waiting for you.
|
|
You can't epect us to do all the running, when we make an effort,
|
|
then somebody needs to repond to that, it's called meeting in the
|
|
middle, and all the complainiing and whining isn't going to change that.
|
|
One of the problems, now of course, is that at the last product meeting
|
|
the MD asked what progress had been made in investigating the possibilities
|
|
of a LINUX driver, he was told what the reponse was. I might take you
|
|
seriously, he no longer does. So if I want to try and help you guys then
|
|
I have to do it behind is back and present him with a finished product.
|
|
That is the commercial fact.
|
|
|
|
|
|
If you have any further comments on this subject or any questions
|
|
please do not hesitate to contact me, any of Alan.Drew or cdh
|
|
@specialix.com or @specialix.co.uk will get to me.
|
|
|
|
I look forward to hearing from you.
|
|
|
|
|
|
|
|
|
|
Alan Drew
|
|
International Support, Specialix.
|
|
--
|
|
This article bought to you by CESPITS
|
|
Campaign for Extremely Serious Postings to InterneT news Services
|
|
|
|
------------------------------
|
|
|
|
From: kevinl@bruce.cs.monash.edu.au (Kevin Lentin)
|
|
Subject: Re: NEC T130B scsi host
|
|
Date: 7 Mar 1994 12:52:39 GMT
|
|
|
|
On 2 Mar 1994 07:48:13 GMT, Francesco Defilippo wrote:
|
|
> Hello,
|
|
> The Nec T130B scsi is supported by linux?
|
|
|
|
Nec T130B? Trantor make a T130B and it can be made to work under Linux with
|
|
no interupts and no pseudo-dma. I have a patch to make interupts work and
|
|
am about to start the pseudo-dma from scratch since I somehow managed to
|
|
stop the whole driver working and figure a rethink is in order.
|
|
|
|
--
|
|
[==================================================================]
|
|
[ Kevin Lentin |___/~\__/~\___/~~~~\__/~\__/~\_| ]
|
|
[ kevinl@bruce.cs.monash.edu.au |___/~\/~\_____/~\______/~\/~\__| ]
|
|
[ Macintrash: 'Just say NO!' |___/~\__/~\___/~~~~\____/~~\___| ]
|
|
[==================================================================]
|
|
|
|
------------------------------
|
|
|
|
From: adjihc4@cti.ecp.fr (Cedric Adjih)
|
|
Subject: Re: AMD 486DX problem (with Linux?)
|
|
Date: 7 Mar 1994 13:30:59 GMT
|
|
|
|
John McCluskey (jbm@speedy.login.qc.ca) wrote:
|
|
: micha@mubo.saar.de (Michael Bongartz) writes:
|
|
|
|
: >On 05 Mar 1994 05:42:38 GMT in comp.os.linux.development,
|
|
: > Gregory McKesey (mckesey@imaphics.prior.com) wrote:
|
|
|
|
: >: I have found an annoying problem with the AMD 486DX chip and
|
|
|
|
[...deleted...]
|
|
|
|
: >: I decided to investigate further, and found a problem with
|
|
: >: single precesion (ie float) multiplys. The following is a sample
|
|
: >: program that illustrates the problem.
|
|
|
|
: >I couldn't resist testing this on my AMD 486 DX2/66 system:
|
|
|
|
: >micha@moko|~/tmp>cc -o float float.c
|
|
: >micha@moko|~/tmp>float
|
|
: >1.312500 * 7.999900 =10.499868
|
|
: >1.312500 * 7.999900 =10.499869
|
|
: >Test succeeded!
|
|
|
|
: >It seems that this bug doesn't exist on all AMD chips.
|
|
|
|
: Ditto. My AMD-486DX40 yields exactly the same results as above. My
|
|
: CPU is marked with the "Windows Compatible Logo". I bought it last month.
|
|
: It looks like the recent production of AMD is clean.
|
|
|
|
My AMD-486DX40 (bought in november) gives the sames results too...
|
|
|
|
It might be also a compiler or librairie bug :
|
|
- the assembly code generated could be seen with the "-S" option of gcc
|
|
- the printf("%f",a) could be checked with float a=10.49986(8|9)
|
|
(I have slackware 1.1.2, I think it is gcc 2.5.7 and libc x.x.19)
|
|
|
|
: J. McCluskey@ieee.org
|
|
|
|
Just my 2 cent(ime)s,
|
|
--
|
|
Cedric Adjih / Internet : adjihc4@cti.ecp.fr
|
|
Disclamer : concerning my English.
|
|
|
|
------------------------------
|
|
|
|
From: iiitac@swan.pyr (Alan Cox)
|
|
Subject: Re: Specialix driver
|
|
Date: Mon, 7 Mar 1994 13:19:20 GMT
|
|
|
|
In article <2l870d$ceu@news.u.washington.edu> tzs@u.washington.edu (Tim Smith) writes:
|
|
> (b) In no case does copyright protection for an original work of
|
|
> authorship extend to any idea, procedure, process, system, method
|
|
> of operation, concept, principle, or discovery, regardless of the
|
|
> form in which it is described, explained, illustrated, or embodied
|
|
> in such work.
|
|
|
|
Except when your name is Apple Computer.... surely
|
|
|
|
Alan
|
|
|
|
|
|
|
|
------------------------------
|
|
|
|
From: laurent@brasil.frmug.fr.net (Laurent Chemla)
|
|
Subject: pre1.0 strange behaviour
|
|
Date: 6 Mar 1994 19:59:19 GMT
|
|
|
|
--
|
|
First thing, Wooahoo I saw my box printing 1.0 while booting :-)
|
|
|
|
Now the bad news. I'm writing a program that places the text cursor where it
|
|
wants on the screen. Stdin is in O_NONBLOCK mode, but stdout is not.
|
|
The cursor does no more react the same way it was used to until I upgrade
|
|
from pl15h to ALPHA1.0. I can't exactly say what happens, but I can say that
|
|
it won't work the same when i do this:
|
|
|
|
sprintf(buf,"\033[%d;%dH",CurY,CurX);
|
|
fputs(buf,stdout);
|
|
fflush(stdout);
|
|
|
|
The behaviour is 'sometime the cursor is at the right place, sometime not,
|
|
probably depending on when stdout get flushed'.
|
|
NOTE that it does work allright on the console screen, but it just seems to
|
|
be fooled on any of my serial terminals, at any speed. If i'm on ttyS4
|
|
(for instance) and then just enter 'myprogram' then it doesn't work, but if
|
|
I enter 'myprogram > /dev/ttyS4' then it does work!
|
|
A 'stty -a' shows that rows and columns are set to 0 when I log in on a
|
|
serial terminal, but it always did. And when I enter a 'tset' command, rows
|
|
and columns are correct but it doesn't change anything.
|
|
|
|
I'm using gcc2.5.8, libs4.5.19, Taiwanese 486/66 and a compatible AST
|
|
fourport serial card.
|
|
|
|
I can't be sure it's not a bug in my program that was hidden in previous
|
|
kernel, but as I do not know (yet) the reason of this behaviour, I prefer to
|
|
post this article. Please forgive my bad english.
|
|
|
|
--
|
|
Laurent Chemla : chemla@cnam.cnam.fr or laurent@brasil.frmug.fr.net
|
|
Brasil BBS - +33 1 44 67 08 44 - Atari France developpers support
|
|
|
|
------------------------------
|
|
|
|
From: mvkasich@eos.ncsu.edu (Manoj Kasichainula)
|
|
Subject: Re: program runs fine in xxgdb, but not in xterm! (Stupid me!)
|
|
Date: 7 Mar 1994 14:47:49 GMT
|
|
Reply-To: mvkasich@eos.ncsu.edu (Manoj Kasichainula)
|
|
|
|
|
|
In article <2l7ja7$93b@louie.udel.edu>, mvkasich@eos.ncsu.edu (Manoj
|
|
Kasichainula) writes:
|
|
|OK, here's the situation. I'm trying to do a program for my data
|
|
|structures class at home. I've appended a copy of it below to look at.
|
|
|When I run the program at the command line prompt, it immediately
|
|
|exits
|
|
|and sets $status to 1. But when I run it in xxgdb, it runs fine,
|
|
|except
|
|
|for some necessary debugging 8^). Why is the program not doing
|
|
|anything
|
|
|when run at the command line prompt? No I'm not asking someone to
|
|
|debug
|
|
|the program, just please explain why it doing what it's doing. Oh
|
|
|yeah,
|
|
|when I run the program on the DECstations at college, it works fine.
|
|
|Thanks in advance.
|
|
|
|
Thanks for all of your help! With some help, I've found the problem.
|
|
Apparently, there is a GNU program called "test" wich I had never heard
|
|
of. And being a former DOS slave (what a sad existence it was!), when I
|
|
compiled my program and named it test, I didn't think that when I tried
|
|
to run it, it would run the GNU version instead of the version in the
|
|
current dir. Uggggh! Thanks again for all the help. Oh by the way, the
|
|
ALPHA version of kernel 1.0 is out, on nic.funet.fi:
|
|
/pub/OS/Linux/kernel/src.
|
|
--
|
|
_______________________________________________
|
|
| | "Violence is the refuge of
|
|
| Manoj Kasichainula - mvkasich@eos.ncsu.edu | the incompetant."
|
|
| Leader of the Jihad to Destroy Barney at NCSU | - Salvor Hardin
|
|
|_______________________________________________| from _Foundation_ by Asimov
|
|
|
|
------------------------------
|
|
|
|
Crossposted-To: gnu.misc.discuss
|
|
From: igb@fulcrum.co.uk (Ian G Batten)
|
|
Subject: Re: Specialix driver
|
|
Date: Mon, 7 Mar 1994 15:21:33 GMT
|
|
|
|
In article <2l5u1p$vcj@zealot.uucp>,
|
|
Keith Medcalf <kmedcalf@zealot.uucp> wrote:
|
|
> The entire GPL/GLPL is quite straightforward and means just about
|
|
> If you get a good dictionary of the English
|
|
> Language (English, not American or Canadian, but ENGLISH), and look up the
|
|
> EXACT AND PRECISE meaning of every single word
|
|
|
|
Could you please suggest such a dictionary? I have an interested
|
|
layman's perspective on lexicography, as I fund my hifi interest
|
|
consulting for several dictionary publishers and number several people
|
|
who produce dictionaries for a living amongst my friends. I've never
|
|
heard them make such claims (``EXACT AND PRECISE'') for their
|
|
dictionaries.
|
|
|
|
ian
|
|
|
|
|
|
------------------------------
|
|
|
|
From: gt8134b@prism.gatech.EDU (Robert Sanders)
|
|
Subject: Re: dynamic loading
|
|
Date: 7 Mar 94 16:09:52 GMT
|
|
|
|
luke@umnstat.stat.umn.edu (Luke Tierney) writes:
|
|
|
|
>I am currently trying to port a statistical system to a range of UNIX
|
|
>systems and would like to include Linux support. Unfortunately I don't
|
|
|
|
Great! It's a wide audience.
|
|
|
|
>One thing I try to do in my package is allow dynamic loading of
|
|
>compiled C code. On most systems with shared liraries I have been able
|
|
>to do this by using hooks into the shared library mechanism. Many
|
|
>systems have a common interface -- a function dlopen for loading a
|
|
>library, a function dlsym for locating the address of a symbol.
|
|
|
|
You can do pretty much the same thing with GNU DLD with dld_link()
|
|
and dld_get_func for functions and dld_get_sym() for variable (if
|
|
you want dld_get to be generic, just have it try each in sucession).
|
|
I've just modified two programs (perl5 and elk 2.2) to use DLD
|
|
instead of dlopen()/dlsym() and it works fine. One thing you have
|
|
to be careful about is name conflicts with global symbols in
|
|
the .o/.a files: unlink the dl_* functions, DLD acts much like
|
|
real linking, so if you have a global symbol init() in two .o files,
|
|
you're going to get a "multiply defined symbol" error.
|
|
|
|
If you want a good example of dynamic loading using various schemes
|
|
(excuse the pun), check out elk 2.2, the Extension Language Kit,
|
|
which is a Scheme interpreter meant to be embedded as an extension
|
|
language. It's also a standalone interpreter. It supports dynamic
|
|
loading on HPUX using shl_load(), under BSD systems using 'ld -A'
|
|
incremental linking and then just read()ing the object file into
|
|
memory, and now I've written interface code to DLD. You can also
|
|
use 'ld -A' incremental linking under Linux, but you have to insert
|
|
the "-static" switch in the call to ld so that it links against
|
|
the static versions of the libraries.
|
|
|
|
>If the shared library approach doesn't work I can use the GNU dld
|
|
>library, which I gather is available for Linux. Is this library
|
|
>included in standard Linux distributions, or does it have to be ftp's
|
|
>from somewhere.
|
|
|
|
DLD 3.2.3 (the standard GNU distribution right now) doesn't work under
|
|
Linux. Aubrey Jaffer ported it to Linux, renumbered it 3.2.4, and
|
|
made it available on ftp.uu.net:/languages/lisp/scm and prep.ai.mit.edu:
|
|
/pub/gnu/jacal.
|
|
|
|
Linux's current shared libraries really aren't meant for dynamic loading
|
|
as those of SVR4 and derived systems are. Maybe that will change with
|
|
the work being done on ELF binary formats, but in the meantime, DLD
|
|
provides very satisfactory results.
|
|
|
|
Write me if you'd like to discuss this further.
|
|
|
|
--
|
|
_g, '96 --->>>>>>>>>> gt8134b@prism.gatech.edu <<<<<<<<<--- CompSci ,g_
|
|
W@@@W__ |-\ ^ | disclaimer: <---> "Bow before ZOD!" __W@@@W
|
|
W@@@@**~~~' ro|-<ert s/_\ nders | who am I??? ^ from Superman '~~~**@@@@W
|
|
`*MV' hi,ocie! |-/ad! / \ss!! | ooga ooga!! | II (cool)! `VW*'
|
|
|
|
------------------------------
|
|
|
|
|
|
** FOR YOUR REFERENCE **
|
|
|
|
The service address, to which questions about the list itself and requests
|
|
to be added to or deleted from it should be directed, is:
|
|
|
|
Internet: Linux-Development-Request@NEWS-DIGESTS.MIT.EDU
|
|
|
|
You can send mail to the entire list (and comp.os.linux.development) via:
|
|
|
|
Internet: Linux-Development@NEWS-DIGESTS.MIT.EDU
|
|
|
|
Linux may be obtained via one of these FTP sites:
|
|
nic.funet.fi pub/OS/Linux
|
|
tsx-11.mit.edu pub/linux
|
|
sunsite.unc.edu pub/Linux
|
|
|
|
End of Linux-Development Digest
|
|
******************************
|