Subject: Linux-Development Digest #767
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:     Fri, 27 May 94 22:13:07 EDT

Linux-Development Digest #767, Volume #1         Fri, 27 May 94 22:13:07 EDT

Contents:
  Re: Linux and binding sockets (dante@cc.gatech.edu)
  Re: Motif question (Greg Philmon)
  Re: Q: Should recompiling the kernel update /etc/issue? (Rob Janssen)
  Re: BusLogi 445S and DMA Channel (NEW ANSWER) (Tom Maki)
  Re: 1.1.15 breaks SCSI (R. Schalk)
  Quota for 1.1.* ? (Heiko Goller)
  Re: Q: Should recompiling the kernel update /etc/issue? (Riku Meskanen)
  Re: In defence of variety, but with consistancy (Bennett Todd)
  Re: Linux and binding sockets (Whistler)
  Re: Motif question (Chris Flatters)
  Re: 1.1.15 breaks SCSI (Rene COUGNENC)
  Re: 1.1.15 breaks SCSI (Rene COUGNENC)
  InterLink for Linux (Steve McMahon)
  Re: Multiplatform GUI library (Wade Guthrie)
  SIGHUP - Where do we go from here? (Sean Puckett)

----------------------------------------------------------------------------

From: dante@cc.gatech.edu
Subject: Re: Linux and binding sockets
Date: 27 May 1994 13:33:51 -0400

On the subject of "Linux and binding sockets", jim@cis.ohio-state.edu wrote:
>
<something about bits reversed in port number>
>What am I doing wrong ? I'm using the latest slackware dist and the sockaddr
>struct in /usr/include/linux/in.h if that helps.
>

  sounds like you need to translate the port number to network byte
order.  see htons() and friends for details.


d.

-- 
"If I thought my answer were to one who might ever return to the world, 
this flame would shake no more; but since from this depth none have ever
returned alive, I answer you without fear of infamy."   
from Dante's _The Inferno_, XXVII, ll. 61-66.

------------------------------

From: philmon@netcom.com (Greg Philmon)
Subject: Re: Motif question
Date: Fri, 27 May 1994 17:21:04 GMT

In article <2s2n41INNaor@flop.engr.orst.edu>,
Carl Price <pricec@holmes.ece.orst.edu> wrote:
>I have been seeing a lot of people asking about Motif, but no replies on
>the net.  Well I need to know who has a good Motif for Linux and what the
>price of it is, and the number to call to order.  Any experiences with one
>package over another would also be appreciated.  I am hoping to port some 
>apps and I need to get started soon, so all replies will be appreciated.

This was posted to linux.announce in early May.  I bought it and it 
works fine.  No connection to the company other than as a customer, etc.

>>> Begin Included Message

Not only do you get the newest version of Motif, but a new version of Linux
to go with it at no extra cost!  Starting the second week in May, 
Linux System labs will start shipping Motif 1.2.4 with Linux on CD-ROM
and on diskettes or by ftp if specially requested.

Our Products:

--- Floppy distribution (Slackware 1.1.2 pl 15)
         Distributed on 48 3 1/2 diskettes & Includes 137 Page document Linux
         Installation and Getting Started by Matt Welsh 
         This is a binary mostly distribution (source is included for
         kernel and drivers) consisting of 48 diskettes 

--- CDROM distribution
         Requires a (CDROM (only for installation) or you can run from
         the CDROM contains boot disks for 3 1/2 and 5 1/4 
         drives full source tree for most (including X11R5, X11R5.1
         and TeX) binaries 680 meg total over 57,000 files 

--- Ordering Information
         Regular prices:
         3.5 inch high density disks (slackware distribution)       $69.95
         CDROM with 5.25 and 3.5 boot disks (Yggdrasil distribution) $59.95
         Motif Runtime & Development                                $175.00
         Motif Runtime & Development Bundled with Linux             $215.00
         240 page Networking Guide                                  $20.00
         /rdb RDBMS by Revolutionary Software                      $149.00

Note:  Internet customers get a 20% discount and obtain Motif and
the newest release of Linux for the price of Linux alone, i.e.

(regular price of motif)$175.00*(1-.2) = $140.00 for both motif and the current
version of Linux.

--- To order call 1 800 432 0556 or (313)954 2829 FAX (313)954 2806
--- For more information, e-mail lsl@msen.com

>>> End Included Message

-- 
Greg Philmon | philmon@netcom.com | CIS: 71161,3445 | MCI: 588-5358

------------------------------

From: rob@pe1chl.ampr.org (Rob Janssen)
Subject: Re: Q: Should recompiling the kernel update /etc/issue?
Reply-To: pe1chl@rabo.nl
Date: Thu, 26 May 1994 21:32:23 GMT

In <n9044144.769976582@rowlf> n9044144@rowlf.cc.wwu.edu (Khan M. Klatt) writes:

>Recently I upgraded my kernel from version 0.99.15 to 1.1.0. I sync'd and 
>rebooted, and was greeted by

>Welcome to Linux 0.99.15 (or whatever)...

>What's wrong? Did I miscompile? So I recompile a couple more times. 
>Finally, I see 'version 1.1.0' on the bootup, but the login greeting is 
>still 0.99.15. Being a Linux/UNIX newbie, I decided it wasn't the kernel.

>So I started doing cat's and greps in /etc/rc.d looking for 'Welcome'. 
>Then I recursed back into /etc. Finally, I found that message in /etc/issue.

>After that brief intro, shouldn't recompiling the kernel be 
>designed to modify /etc/issue? I edited the file myself, but am I really 
>running version 1.1.0? What else do I need to do to run 1.1.0?

>I guess I'm asking a simple question about 'what _exactly_ does version 
>1.1.0 refer to?' I assumed it was the kernel... I'm asking in c.o.l.d. 
>because with that above assumption, the kernel source code would have to 
>be modified to update /etc/issue, or it should be included in the 
>instructions on how to (re)compile the kernel to a different version...

What you want to put in your /etc/issue is your own decision.  You can
put the version number there, or whatever else you like.  There is nothing
that will update it when you compile the kernel, and that would not be
the correct thing to do anyway, as you can have multiple versions of the
kernel on your disk that you select at boot-time.

I am using the following in /etc/rc.local to update /etc/issue at boot time:

# dump version to /etc/issue for display in login
(uname -a; echo) >/etc/issue

Rob
-- 
=========================================================================
| Rob Janssen                | AMPRnet:   rob@pe1chl.ampr.org           |
| e-mail: pe1chl@rabo.nl     | AX.25 BBS: PE1CHL@PI8UTR.#UTR.NLD.EU     |
=========================================================================

------------------------------

Crossposted-To: comp.os.linux.misc,comp.os.386bsd.development,comp.os.386bsd.questions,comp.sys.ibm.pc.hardware.systems,comp.sys.ibm.pc.hardware.storage,comp.sys.ibm.pc.hardware.misc,comp.periphs.scsi
From: tom@chaos.gw.umn.edu (Tom Maki)
Subject: Re: BusLogi 445S and DMA Channel (NEW ANSWER)
Reply-To: zug@mermaid.micro.umn.edu(Tom Maki)
Date: Fri, 27 May 1994 17:17:15 GMT

bhogan@crl.com (Bill Hogan) writes:
        <...>
>  I have wanted to ask this question for a long time:
>
>  Why should I want to have my SCSI HA on the *video* local bus at all?
>
>  I don't get it.
>
>  I know one real good reason why certain video boards should IMHO be kept
>as far away from the ISA bus as possible, but I can't see any solid
>advantage to taking my SCSI controller off the ISA bus -- to the contrary,
>if I move up to an EISA bus, there are very good reasons for getting an
>EISA SCSI HA! 

Bus-mastering controllers on an ISA bus and >16 MB RAM do not mix well.

BTW, VLB stands for Vesa Local Bus (though perhaps it is most useful for
video devices).

Tom


------------------------------

Date: Thu, 26 May 1994 22:26:27 +0200
From: U001295@vm.uci.kun.nl (R. Schalk)
Subject: Re: 1.1.15 breaks SCSI

In article <2s0ctl$6l@renux.frmug.fr.net>
rene@renux.frmug.fr.net (Rene COUGNENC) writes:

>
>The kernel 1.1.15 does not work at all with my Adaptec 1540B.
>I get "Unable to reset SCSI host 0, probably a SCSI bus hang."

Check if anything went wrong with the patching, I just built 1.1.15 on a
1542b (with floppy-controller) and it works like a charm.

Grtx Ronald

********************************************************************
* ing. Ronald Schalk, afdeling CS, sectie COOS                     *
* Universitair Centrum Informatievoorziening (UCI)                 *
* University of Nijmegen (KUN)    snailmail: Geert Grooteplein 41  *
* e-mail : R.Schalk@uci.kun.nl               6525 GA Nijmegen      *
********************************************************************

------------------------------

From: han@btfmd2 (Heiko Goller)
Subject: Quota for 1.1.* ?
Date: 27 May 1994 17:45:38 GMT

Is there a quota patch available for the 1.1.* tree ? Or is the 1.1.* changing
too fast to patch quota into it ?

--
 ___________________________________________________________________________
/                                                                         / \
| han@saftsack.fs.uni-bayreuth.de                                         | |
\_________________________________________________________________________\_/

------------------------------

From: root@whisper.slip.jyu.fi (Riku Meskanen)
Subject: Re: Q: Should recompiling the kernel update /etc/issue?
Date: 27 May 1994 17:33:00 GMT

Rob Janssen (rob@pe1chl.ampr.org) wrote:
: In <n9044144.769976582@rowlf> n9044144@rowlf.cc.wwu.edu (Khan M. Klatt) writes:

: >Recently I upgraded my kernel from version 0.99.15 to 1.1.0. I sync'd and 
: >rebooted, and was greeted by

: >Welcome to Linux 0.99.15 (or whatever)...

: >What's wrong? Did I miscompile? So I recompile a couple more times. 
: >Finally, I see 'version 1.1.0' on the bootup, but the login greeting is 
: >still 0.99.15. Being a Linux/UNIX newbie, I decided it wasn't the kernel.

: >So I started doing cat's and greps in /etc/rc.d looking for 'Welcome'. 
: >Then I recursed back into /etc. Finally, I found that message in /etc/issue.

: >After that brief intro, shouldn't recompiling the kernel be 
: >designed to modify /etc/issue? I edited the file myself, but am I really 
: >running version 1.1.0? What else do I need to do to run 1.1.0?

: >I guess I'm asking a simple question about 'what _exactly_ does version 
: >1.1.0 refer to?' I assumed it was the kernel... I'm asking in c.o.l.d. 
: >because with that above assumption, the kernel source code would have to 
: >be modified to update /etc/issue, or it should be included in the 
: >instructions on how to (re)compile the kernel to a different version...

: What you want to put in your /etc/issue is your own decision.  You can
: put the version number there, or whatever else you like.  There is nothing
: that will update it when you compile the kernel, and that would not be
: the correct thing to do anyway, as you can have multiple versions of the
: kernel on your disk that you select at boot-time.

: I am using the following in /etc/rc.local to update /etc/issue at boot time:

: # dump version to /etc/issue for display in login
: (uname -a; echo) >/etc/issue

Or you could use \s \n \r \v \m \d \t \l or \b in /etc/issue if you 
have 'agetty' installed.

here's mine /etc/issue
   -----------------------------------------------------------------------
          ##      ##   ###        ##                                    
         ##      ##    ##                                             
        ##      ##    ## ##    ###     #####    #####    ####    ## ###  
       ##  ##  ##    ### ##    ##    ##        ##  ##  ##  ##    ### ## 
      ## ###  ##    ##  ##    ##     ####     ##  ##  ######    ##  ## 
     #### ## ##    ##  ##    ##        ##    #####   ##        ##     
    ####  ####   ###  ##   ####   #####     ##       ####    ####    
                                          ####                    
   -----------------------------------------------------------------------
          ICL Alfaskop 4 m458 running \s \r
          You are connected to port \l at \b b/s
   -----------------------------------------------------------------------

also the /etc/issue.net could be used for telnetd


   -----------------------------------------------------------------------
          ##      ##   ###        ##                                      
         ##      ##    ##                                                 
        ##      ##    ## ##    ###     #####    #####    ####    ## ###   
       ##  ##  ##    ### ##    ##    ##        ##  ##  ##  ##    ### ##   
      ## ###  ##    ##  ##    ##     ####     ##  ##  ######    ##  ##    
     #### ## ##    ##  ##    ##        ##    #####   ##        ##         
    ####  ####   ###  ##   ####   #####     ##       ####    ####         
                                          ####                            
   -----------------------------------------------------------------------
                            ICL Alfaskop 4 m458                           
   -----------------------------------------------------------------------

System %s %r (%h%D) (%t)

Note, that /etc/issue.net needs the ^M in the line end to produces
readable lines.

: Rob
: -- 
: -------------------------------------------------------------------------
: | Rob Janssen                | AMPRnet:   rob@pe1chl.ampr.org           |
: | e-mail: pe1chl@rabo.nl     | AX.25 BBS: PE1CHL@PI8UTR.#UTR.NLD.EU     |
: -------------------------------------------------------------------------

:-) riku

--
mesrik@tukki.jyu.fi -- riku@tuura.icl.fi -- 70023,3305
#include <std.bullshit> /* missing cool signature, got a spare? */


------------------------------

From: bet@std.sbi.com (Bennett Todd)
Subject: Re: In defence of variety, but with consistancy
Date: 26 May 1994 23:10:51 GMT

I think there's a simple reason why no single standard for packages has
emerged (aside from the trivial ``tar file to extract from root, compressed
with gzip''). When someone new looks at the problem, if they check out the
work that has been done by others they see two kinds of packaging proposals.
Some are simple --- and fail to address the precise problem they have in
mind. Others address their precise problem, plus everybody else's --- and
are horribly complex (as a consequence!).

I started off despising the System V packaging tools, because they were so
grotesquely complex. Over time I've seen use for more and more of their
features; I now appreciate why they have so many features. I still despise
them, because they were designed and implemented by bozos who knew nothing
about Unix, and it shows. But I have come around to believing that any
viable universal solution will need to have many of the features of the
System V packaging tools, including:

        - builtin checksums, and ability to verify a package or an
          installation, and to do an incremental update efficiently, only
          copying in the files that have actually changed

        - central database keeping an inventory of which packages have
          been installed

        - ability to remove packages

        - ability to specify arbitrary scripts to be run before and/or after
          installation and/or removal (all four permutations), and the
          ability of these scripts to compute new files to be installed as
          part of the current package

Anything that implements a sufficiently rich set of features will be more
complex than something that doesn't, and so it will only be appreciated by
people who've been fighting this war for a while.

I expect that inside of 10 years we'll see widespread standardization on one
or more relatively general-purpose packaging standards. I doubt it'll happen
in 5; it takes people longer than that to learn why it's needed.

-Bennett
bet@sbi.com

------------------------------

From: slouken@cs.ucdavis.edu (Whistler)
Subject: Re: Linux and binding sockets
Date: Fri, 27 May 1994 17:46:31 GMT

dante@cc.gatech.edu wrote:
:   sounds like you need to translate the port number to network byte
: order.  see htons() and friends for details.

        Yup, I ran into this one too.
You need to assign the port this way:

serv_addr.sin_family      = AF_INET;
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
serv_addr.sin_port        = htons(port);

Note the use of htons() and htonl() to convert from host byte
order to network byte order.  On Intel machines, the host ordering
is exactly the opposite of network byte ordering, so this step
is a necessary conversion.
(On Sun systems, this is a null macro, because their host ordering
 is the same as netework byte ordering)

Enjoy!

        -Sam


------------------------------

From: cflatter@laphroaig.nrao.edu (Chris Flatters)
Subject: Re: Motif question
Date: 26 May 1994 23:11:38 GMT

>>>>> "Carl" == Carl Price <pricec@holmes.ece.orst.edu> writes:

    Carl> I have been seeing a lot of people asking about Motif, but
    Carl> no replies on the net.  Well I need to know who has a good
    Carl> Motif for Linux and what the price of it is, and the number
    Carl> to call to order.  Any experiences with one package over
    Carl> another would also be appreciated.  I am hoping to port some
    Carl> apps and I need to get started soon, so all replies will be
    Carl> appreciated.

    Carl> Reply to the net if you think it will be of interest to
    Carl> others or e-mail me

    Carl> If you are with a company that makes one of the packages,
    Carl> e-mail me and let me know why your package is better than
    Carl> the others.


Check out /pub/linux/advertisements on tsx-11.mit.edu for a couple
of options.

        Chris Flatters
        cflatter@nrao.edu

------------------------------

From: rene@renux.frmug.fr.net (Rene COUGNENC)
Subject: Re: 1.1.15 breaks SCSI
Date: 27 May 1994 16:28:35 GMT
Reply-To: cougnenc@blaise.ibp.fr (Rene COUGNENC)

Ce brave Harald Milz ecrit:

> Rene COUGNENC (rene@renux.frmug.fr.net) wrote:

> : > The kernel 1.1.15 does not work at all with my Adaptec 1540B.
> : > I get "Unable to reset SCSI host 0, probably a SCSI bus hang."
> : > And I can't boot.

> Are there any boot/error messages from the driver?

Yes, this one :-)

This is what happens with 1.1.15 and 1.1.16:

==========================================================================
Calibrating delay loop.. ok - 4.34 BogoMips
Configuring Adaptec at IO:330, IRQ 11, DMA priority 5
scsi0 : Adaptec 1542
scsi : 1 hosts.
  Vendor: FUJITSU   Model: M2622F-512        Rev: 0404
  Type:   Direct-Access                      ANSI SCSI revision: 01 CCS
Detected scsi disk sda at scsi0, id 0, lun 0
scsi0 : reseting for second half of retries.
Unable to reset scsi host 0 - probably a scsi bus hang.
==========================================================================
... and nothing else, booting stops here.


This is what is shown with all previous kernels, (I never had any problem
since the Adaptec 1542 is supported by Linux):

==========================================================================
Calibrating delay loop.. ok - 4.34 BogoMips
Configuring Adaptec at IO:330, IRQ 11, DMA priority 5
scsi0 : Adaptec 1542
scsi : 1 hosts.
  Vendor: FUJITSU   Model: M2622F-512        Rev: 0404
  Type:   Direct-Access                      ANSI SCSI revision: 01 CCS
Detected scsi disk sda at scsi0, id 0, lun 0
scsi0 : reseting for second half of retries.
  Vendor: MICROP    Model: 1624-07MZ1077801  Rev: HZ2P
  Type:   Direct-Access                      ANSI SCSI revision: 01 CCS
Detected scsi disk sdb at scsi0, id 1, lun 0
scsi0 : reseting for second half of retries.
scsi : detected 2 SCSI disks 0 tapes 0 CD-ROM drives total.
Memory: 6804k/8192k available (684k kernel code, 384k reserved, 320k data)
Floppy drive(s): fd0 is 1.2M, fd1 is 1.44M
Swansea University Computer Society NET3.012
IP Protocols: ICMP, UDP, TCP
PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS
==========================================================================
etc.. etc... boots fine.

If I remove drivers/scsi and use the old ones in 1.1.15 or 1.1.16, everything
works. (except rpc.nfsd exiting with SIGSEGV, but it is another story...)
--
 linux linux linux linux -[ cougnenc@renux.frmug.fr.net ]- linux linux linux 

------------------------------

From: rene@renux.frmug.fr.net (Rene COUGNENC)
Subject: Re: 1.1.15 breaks SCSI
Date: 27 May 1994 19:14:41 GMT
Reply-To: cougnenc@hsc.fr.net (Rene COUGNENC)

I wrote:

> > : > The kernel 1.1.15 does not work at all with my Adaptec 1540B.
> > : > I get "Unable to reset SCSI host 0, probably a SCSI bus hang."
> > : > And I can't boot.


Ok I have it working now.
I had to modify in scsi.c the reset function this way:

#define NEEDS_JUMPSTART 0x20 /* taken from old hosts.h */
static void reset (Scsi_Cmnd * SCpnt)
{
#ifdef DEBUG
        printk("scsi: reset(%d)\n", SCpnt->host->host_no);
#endif

        SCpnt->flags |= (WAS_RESET | IS_RESETTING);
        scsi_reset(SCpnt);

#ifdef DEBUG
        printk("performing request sense\n");
#endif

#if 1  /* FIXME - remove this when done */
        if(SCpnt->flags & NEEDS_JUMPSTART) {
          SCpnt->flags &= ~NEEDS_JUMPSTART;
          scsi_request_sense (SCpnt);
        };
#endif
}
 
--
 linux linux linux linux -[ cougnenc@renux.frmug.fr.net ]- linux linux linux 

------------------------------

From: steve.mcmahon@lambada.oit.unc.edu (Steve McMahon)
Subject: InterLink for Linux
Date: 27 May 94 20:36:17 GMT

Has anybody written for linux something like DOS' InterLink? In DOS,
you can connect two computers by a NULL-modem cable and network them
using InterLink (i.e. access hard and floppy drives of one as if it
were a local drive). This is very convenient for laptops.

So I'm wondering, has it been done for linux? If not, is there anyway
I can access the drive of a computer connected by a NULL-modem cable?
I realize one could use a comm program, but it's not the same. I'd
like to install things on my laptop using the CD-ROM of the desktop.

Can FreeBSD do that?

Regards.

-Steve


------------------------------

From: Wade.Guthrie@f0.n100.z61.fidonet.org (Wade Guthrie)
Date: 25 May 94 15:12:22 +0000
Subject: Re: Multiplatform GUI library

From: wade@nb.rockwell.com (Wade Guthrie)
Organization: Rockwell International
Date: Wed, 25 May 1994 15:12:22 GMT

icid2@cc.uab.es writes:

>I'm searching in a multiplatform GUI library like Zapp or XVT; it must
>run under DOS, MS-Windows and Linux (under X, interested under Motif), and
>must be easy to use. Anyone has work with this kind of tool?

Try wxWindows (email to J.Smart@ed.ac.uk).  It works on MS-Windows and X
(including under Linux).  They are working on (maybe done with) a curses
port.



-- 
Wade Guthrie                     | Here's to far too many MIPS, old sports
wade@nb.rockwell.com             | cars, AD&D (first edition), and single 
I don't speak for Rockwell.      | malt whiskey.
--
| This msg is brought to you via IDN Internet Gateway (idn.nl)
| Internet: Wade.Guthrie@f0.n100.z61.fidonet.org
|
| Standard disclaimer: The views of this user are strictly his own.


------------------------------

From: Sean.Puckett@f0.n100.z61.fidonet.org (Sean Puckett)
Date: 25 May 94 13:57:13 +0000
Subject: SIGHUP - Where do we go from here?

From: nate@loreli.ftl.fl.us (Sean Puckett)
Organization: Loreli
Date: Wed, 25 May 1994 13:57:13 GMT

So here's what we've learned.

  1.  Posix says SIGHUP should be sent only to session leaders.
  2.  Linux' kernel follows Posix as exactly as possible.
  3.  Many applications do not follow the Posix standards in the fine
      details of orphaning and signal handling.
  4.  Some people believe 100% Posix compliance is a Good Thing.  Period.
  5.  Some people believe that Posix compliance is a Good Thing
      unless it causes problems for real world scenarios.

Because of these facts:

  1.  The kernel baseline will not change.  (The people who believe in
      100% Posix compliance are the people who control the baseline).
  2.  People will continue to have problems with non-compliant
      applications.

And therefore:

  1.  Sooner or later an ugly solution will come forward to deal with
      non-compliant applications.

This is about as apolitical as I can make the current tussle sound.



--
                       ..:: nate@loreli.ftl.fl.us ::..
             ..:: Sean Puckett - Albino Frog Software, Inc. ::..
          ..:: The Right Reverend Aural Hardly, MSK, BoC, FCoC ::..
--
| This msg is brought to you via IDN Internet Gateway (idn.nl)
| Internet: Sean.Puckett@f0.n100.z61.fidonet.org
|
| Standard disclaimer: The views of this user are strictly his own.


------------------------------


** 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
******************************
