public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Accessing serial port.
@ 1999-08-05 10:04 Hans - Dulimarta
  1999-08-05 10:20 ` Suhaib M. Siddiqi
  1999-08-31 23:49 ` Hans - Dulimarta
  0 siblings, 2 replies; 16+ messages in thread
From: Hans - Dulimarta @ 1999-08-05 10:04 UTC (permalink / raw)
  To: cygwin

I am porting my C codes from DJGPP to Cygwin. One of the modules has
several lines which read and write to COM1. I rewrite the code using
open ("/dev/com1"), read (....), write (....), etc. However, the code
seems to hang. The exact same code works fine under Linux by replacing
"/dev/com1" to "/dev/ttyS0". 

Could somebody please help me out.
Thanks.


Hans Dulimarta, Ph.D.    [dulimart@egr.msu.edu, dulimart@computer.org]
Visiting Research Associate
Department of Electrical & Computer Engineering         (517) 432-7589
Michigan State University, East Lansing, Michigan 48824


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: Accessing serial port.
  1999-08-05 10:04 Accessing serial port Hans - Dulimarta
@ 1999-08-05 10:20 ` Suhaib M. Siddiqi
  1999-08-05 10:35   ` David Young
                     ` (2 more replies)
  1999-08-31 23:49 ` Hans - Dulimarta
  1 sibling, 3 replies; 16+ messages in thread
From: Suhaib M. Siddiqi @ 1999-08-05 10:20 UTC (permalink / raw)
  To: Hans - Dulimarta, cygwin

>
>
> I am porting my C codes from DJGPP to Cygwin. One of the modules has
> several lines which read and write to COM1. I rewrite the code using
> open ("/dev/com1"), read (....), write (....), etc. However, the code
> seems to hang. The exact same code works fine under Linux by replacing
> "/dev/com1" to "/dev/ttyS0".
>

This requires accessing the hardware through a proper device driver on
Windows.
It is not that easy
to change /dev/xxx to someting.  Check http://www.microsoft.com/hwdrv/ddk
for info about devices.  If it would have been so easy I would have finished
Xfree86 port a long time ago ;-)



> Could somebody please help me out.
> Thanks.
>
>
> Hans Dulimarta, Ph.D.    [dulimart@egr.msu.edu, dulimart@computer.org]
> Visiting Research Associate
> Department of Electrical & Computer Engineering         (517) 432-7589
> Michigan State University, East Lansing, Michigan 48824
>
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com
>


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 10:20 ` Suhaib M. Siddiqi
@ 1999-08-05 10:35   ` David Young
  1999-08-05 10:50     ` Emil Hallin
  1999-08-31 23:49     ` David Young
  1999-08-05 12:08   ` Chris Faylor
  1999-08-31 23:49   ` Suhaib M. Siddiqi
  2 siblings, 2 replies; 16+ messages in thread
From: David Young @ 1999-08-05 10:35 UTC (permalink / raw)
  To: ssiddiqi; +Cc: Hans - Dulimarta, cygwin

> ... Check http://www.microsoft.com/hwdrv/ddk ...

That URL gives:
Sorry, there is no microsoft.com Web page matching your request.

Anyways, why don't you just use the MS Serial Port functions:

CreateFile()
SetupComm()
SetCommState()
ReadFile()
CloseHandle()

Thanks A Bunch! David Young; VVI-DCS
dyoung@vvi.com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 10:35   ` David Young
@ 1999-08-05 10:50     ` Emil Hallin
  1999-08-31 23:49       ` Emil Hallin
  1999-08-31 23:49     ` David Young
  1 sibling, 1 reply; 16+ messages in thread
From: Emil Hallin @ 1999-08-05 10:50 UTC (permalink / raw)
  To: dyoung; +Cc: ssiddiqi, Hans - Dulimarta, cygwin

David Young wrote:
> 
> > ... Check http://www.microsoft.com/hwdrv/ddk ...

correct URL is:
http://www.microsoft.com/hwdev/ddk
                            ^

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 10:20 ` Suhaib M. Siddiqi
  1999-08-05 10:35   ` David Young
@ 1999-08-05 12:08   ` Chris Faylor
  1999-08-05 12:28     ` Suhaib M. Siddiqi
  1999-08-31 23:49     ` Chris Faylor
  1999-08-31 23:49   ` Suhaib M. Siddiqi
  2 siblings, 2 replies; 16+ messages in thread
From: Chris Faylor @ 1999-08-05 12:08 UTC (permalink / raw)
  To: Suhaib M. Siddiqi; +Cc: Hans - Dulimarta, cygwin

On Thu, Aug 05, 1999 at 01:18:26PM -0400, Suhaib M. Siddiqi wrote:
>
>
>>
>>
>> I am porting my C codes from DJGPP to Cygwin. One of the modules has
>> several lines which read and write to COM1. I rewrite the code using
>> open ("/dev/com1"), read (....), write (....), etc. However, the code
>> seems to hang. The exact same code works fine under Linux by replacing
>> "/dev/com1" to "/dev/ttyS0".
>>
>
>This requires accessing the hardware through a proper device driver on
>Windows.  It is not that easy to change /dev/xxx to someting.  Check
> http://www.microsoft.com/hwdrv/ddk for info about devices.  If it would
>have been so easy I would have finished Xfree86 port a long time ago
>;-)

Um.  No.  I don't know why you think that this requires a device driver.
You should be able to access /dev/com1 using normal open/close/read/write
semantics.

However, there were serial problems in B20.1 that should be fixed in
current snapshots: http://sourceware.cygnus.com/cygwin/snapshots/

cgf

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 12:08   ` Chris Faylor
@ 1999-08-05 12:28     ` Suhaib M. Siddiqi
  1999-08-05 12:47       ` Chris Faylor
  1999-08-31 23:49       ` Suhaib M. Siddiqi
  1999-08-31 23:49     ` Chris Faylor
  1 sibling, 2 replies; 16+ messages in thread
From: Suhaib M. Siddiqi @ 1999-08-05 12:28 UTC (permalink / raw)
  To: cygwin

Chris Faylor wrote:
> 
> On Thu, Aug 05, 1999 at 01:18:26PM -0400, Suhaib M. Siddiqi wrote:
> >
> >
> >>
> >>
> >> I am porting my C codes from DJGPP to Cygwin. One of the modules has
> >> several lines which read and write to COM1. I rewrite the code using
> >> open ("/dev/com1"), read (....), write (....), etc. However, the code
> >> seems to hang. The exact same code works fine under Linux by replacing
> >> "/dev/com1" to "/dev/ttyS0".
> >>
> >
> >This requires accessing the hardware through a proper device driver on
> >Windows.  It is not that easy to change /dev/xxx to someting.  Check
> > http://www.microsoft.com/hwdrv/ddk for info about devices.  If it would
> >have been so easy I would have finished Xfree86 port a long time ago
> >;-)
> 
> Um.  No.  I don't know why you think that this requires a device driver.
> You should be able to access /dev/com1 using normal open/close/read/write
> semantics.
> 
> However, there were serial problems in B20.1 that should be fixed in
> current snapshots: http://sourceware.cygnus.com/cygwin/snapshots/
> 
> cgf

I think for serial only might be possible.  
In my case, I need more then /dev/com1.  
I did try /dev/com1 on Windows NT  and it was
crashing, at least my code, with 
privilaged_access_violation.


Suhaib

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 12:28     ` Suhaib M. Siddiqi
@ 1999-08-05 12:47       ` Chris Faylor
  1999-08-05 13:13         ` Suhaib M. Siddiqi
  1999-08-31 23:49         ` Chris Faylor
  1999-08-31 23:49       ` Suhaib M. Siddiqi
  1 sibling, 2 replies; 16+ messages in thread
From: Chris Faylor @ 1999-08-05 12:47 UTC (permalink / raw)
  To: ssiddiqi; +Cc: cygwin

On Thu, Aug 05, 1999 at 03:32:30PM -0400, Suhaib M. Siddiqi wrote:
>I think for serial only might be possible.  In my case, I need more
>then /dev/com1.  I did try /dev/com1 on Windows NT and it was crashing,
>at least my code, with privilaged_access_violation.

That would be one of those cases where you run gdb to find out *why*
it's crashing.

Cygwin has code for supporting things like /dev/null, /dev/tty, /dev/com1,
and other things.  There is nothing magic about any of it.  It all gets
translated into normal Windows API calls eventually.

It's certainly possible that there is something wrong somewhere in
cygwin with the handling of /dev/com1 but since this functionality is heavily
used by our gdb customers it's unlikely that there is something trivially
wrong with the emulation.

cgf

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 12:47       ` Chris Faylor
@ 1999-08-05 13:13         ` Suhaib M. Siddiqi
  1999-08-31 23:49           ` Suhaib M. Siddiqi
  1999-08-31 23:49         ` Chris Faylor
  1 sibling, 1 reply; 16+ messages in thread
From: Suhaib M. Siddiqi @ 1999-08-05 13:13 UTC (permalink / raw)
  To: cygwin

Chris Faylor wrote:
> 
> On Thu, Aug 05, 1999 at 03:32:30PM -0400, Suhaib M. Siddiqi wrote:
> >I think for serial only might be possible.  In my case, I need more
> >then /dev/com1.  I did try /dev/com1 on Windows NT and it was crashing,
> >at least my code, with privilaged_access_violation.
> 
> That would be one of those cases where you run gdb to find out *why*
> it's crashing.
> 
> Cygwin has code for supporting things like /dev/null, /dev/tty, /dev/com1,
> and other things.  There is nothing magic about any of it.  It all gets
> translated into normal Windows API calls eventually.
> 
> It's certainly possible that there is something wrong somewhere in
> cygwin with the handling of /dev/com1 but since this functionality is heavily
> used by our gdb customers it's unlikely that there is something trivially
> wrong with the emulation.
> 
> cgf


I also do not think /dev/com1 is the real problem.  The problem
is the X11 server code, which read/writes to /dev/mem and /dev/iopl
after accessing each device.  
until I get this part straighten out, it is difficult to trace
and fix other problems in x11 code.
Is there any possibility of adding /dev/mem to Cygwin?  I know, as
you mentioned in one of your message, it might slow the application.

Another note, unrealted to this issue:- which relates to Sergey's latest
AF_UNIX diff file.  Out of curiousity I applied his AF_UNIX.diff file to
the lastest Winsup snapshot.  Build goes OK, but  applications linked
against the cygwin1.dll  (with Sergey's AF_UNIX patch) does not
execute.  It gives error, "Application failed to initialized".

Sorry for two different subjects in one message... 

Suhaib

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Accessing serial port.
  1999-08-05 10:04 Accessing serial port Hans - Dulimarta
  1999-08-05 10:20 ` Suhaib M. Siddiqi
@ 1999-08-31 23:49 ` Hans - Dulimarta
  1 sibling, 0 replies; 16+ messages in thread
From: Hans - Dulimarta @ 1999-08-31 23:49 UTC (permalink / raw)
  To: cygwin

I am porting my C codes from DJGPP to Cygwin. One of the modules has
several lines which read and write to COM1. I rewrite the code using
open ("/dev/com1"), read (....), write (....), etc. However, the code
seems to hang. The exact same code works fine under Linux by replacing
"/dev/com1" to "/dev/ttyS0". 

Could somebody please help me out.
Thanks.


Hans Dulimarta, Ph.D.    [dulimart@egr.msu.edu, dulimart@computer.org]
Visiting Research Associate
Department of Electrical & Computer Engineering         (517) 432-7589
Michigan State University, East Lansing, Michigan 48824


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 12:47       ` Chris Faylor
  1999-08-05 13:13         ` Suhaib M. Siddiqi
@ 1999-08-31 23:49         ` Chris Faylor
  1 sibling, 0 replies; 16+ messages in thread
From: Chris Faylor @ 1999-08-31 23:49 UTC (permalink / raw)
  To: ssiddiqi; +Cc: cygwin

On Thu, Aug 05, 1999 at 03:32:30PM -0400, Suhaib M. Siddiqi wrote:
>I think for serial only might be possible.  In my case, I need more
>then /dev/com1.  I did try /dev/com1 on Windows NT and it was crashing,
>at least my code, with privilaged_access_violation.

That would be one of those cases where you run gdb to find out *why*
it's crashing.

Cygwin has code for supporting things like /dev/null, /dev/tty, /dev/com1,
and other things.  There is nothing magic about any of it.  It all gets
translated into normal Windows API calls eventually.

It's certainly possible that there is something wrong somewhere in
cygwin with the handling of /dev/com1 but since this functionality is heavily
used by our gdb customers it's unlikely that there is something trivially
wrong with the emulation.

cgf

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 10:35   ` David Young
  1999-08-05 10:50     ` Emil Hallin
@ 1999-08-31 23:49     ` David Young
  1 sibling, 0 replies; 16+ messages in thread
From: David Young @ 1999-08-31 23:49 UTC (permalink / raw)
  To: ssiddiqi; +Cc: Hans - Dulimarta, cygwin

> ... Check http://www.microsoft.com/hwdrv/ddk ...

That URL gives:
Sorry, there is no microsoft.com Web page matching your request.

Anyways, why don't you just use the MS Serial Port functions:

CreateFile()
SetupComm()
SetCommState()
ReadFile()
CloseHandle()

Thanks A Bunch! David Young; VVI-DCS
dyoung@vvi.com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 12:28     ` Suhaib M. Siddiqi
  1999-08-05 12:47       ` Chris Faylor
@ 1999-08-31 23:49       ` Suhaib M. Siddiqi
  1 sibling, 0 replies; 16+ messages in thread
From: Suhaib M. Siddiqi @ 1999-08-31 23:49 UTC (permalink / raw)
  To: cygwin

Chris Faylor wrote:
> 
> On Thu, Aug 05, 1999 at 01:18:26PM -0400, Suhaib M. Siddiqi wrote:
> >
> >
> >>
> >>
> >> I am porting my C codes from DJGPP to Cygwin. One of the modules has
> >> several lines which read and write to COM1. I rewrite the code using
> >> open ("/dev/com1"), read (....), write (....), etc. However, the code
> >> seems to hang. The exact same code works fine under Linux by replacing
> >> "/dev/com1" to "/dev/ttyS0".
> >>
> >
> >This requires accessing the hardware through a proper device driver on
> >Windows.  It is not that easy to change /dev/xxx to someting.  Check
> > http://www.microsoft.com/hwdrv/ddk for info about devices.  If it would
> >have been so easy I would have finished Xfree86 port a long time ago
> >;-)
> 
> Um.  No.  I don't know why you think that this requires a device driver.
> You should be able to access /dev/com1 using normal open/close/read/write
> semantics.
> 
> However, there were serial problems in B20.1 that should be fixed in
> current snapshots: http://sourceware.cygnus.com/cygwin/snapshots/
> 
> cgf

I think for serial only might be possible.  
In my case, I need more then /dev/com1.  
I did try /dev/com1 on Windows NT  and it was
crashing, at least my code, with 
privilaged_access_violation.


Suhaib

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: Accessing serial port.
  1999-08-05 10:20 ` Suhaib M. Siddiqi
  1999-08-05 10:35   ` David Young
  1999-08-05 12:08   ` Chris Faylor
@ 1999-08-31 23:49   ` Suhaib M. Siddiqi
  2 siblings, 0 replies; 16+ messages in thread
From: Suhaib M. Siddiqi @ 1999-08-31 23:49 UTC (permalink / raw)
  To: Hans - Dulimarta, cygwin

>
>
> I am porting my C codes from DJGPP to Cygwin. One of the modules has
> several lines which read and write to COM1. I rewrite the code using
> open ("/dev/com1"), read (....), write (....), etc. However, the code
> seems to hang. The exact same code works fine under Linux by replacing
> "/dev/com1" to "/dev/ttyS0".
>

This requires accessing the hardware through a proper device driver on
Windows.
It is not that easy
to change /dev/xxx to someting.  Check http://www.microsoft.com/hwdrv/ddk
for info about devices.  If it would have been so easy I would have finished
Xfree86 port a long time ago ;-)



> Could somebody please help me out.
> Thanks.
>
>
> Hans Dulimarta, Ph.D.    [dulimart@egr.msu.edu, dulimart@computer.org]
> Visiting Research Associate
> Department of Electrical & Computer Engineering         (517) 432-7589
> Michigan State University, East Lansing, Michigan 48824
>
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com
>


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 13:13         ` Suhaib M. Siddiqi
@ 1999-08-31 23:49           ` Suhaib M. Siddiqi
  0 siblings, 0 replies; 16+ messages in thread
From: Suhaib M. Siddiqi @ 1999-08-31 23:49 UTC (permalink / raw)
  To: cygwin

Chris Faylor wrote:
> 
> On Thu, Aug 05, 1999 at 03:32:30PM -0400, Suhaib M. Siddiqi wrote:
> >I think for serial only might be possible.  In my case, I need more
> >then /dev/com1.  I did try /dev/com1 on Windows NT and it was crashing,
> >at least my code, with privilaged_access_violation.
> 
> That would be one of those cases where you run gdb to find out *why*
> it's crashing.
> 
> Cygwin has code for supporting things like /dev/null, /dev/tty, /dev/com1,
> and other things.  There is nothing magic about any of it.  It all gets
> translated into normal Windows API calls eventually.
> 
> It's certainly possible that there is something wrong somewhere in
> cygwin with the handling of /dev/com1 but since this functionality is heavily
> used by our gdb customers it's unlikely that there is something trivially
> wrong with the emulation.
> 
> cgf


I also do not think /dev/com1 is the real problem.  The problem
is the X11 server code, which read/writes to /dev/mem and /dev/iopl
after accessing each device.  
until I get this part straighten out, it is difficult to trace
and fix other problems in x11 code.
Is there any possibility of adding /dev/mem to Cygwin?  I know, as
you mentioned in one of your message, it might slow the application.

Another note, unrealted to this issue:- which relates to Sergey's latest
AF_UNIX diff file.  Out of curiousity I applied his AF_UNIX.diff file to
the lastest Winsup snapshot.  Build goes OK, but  applications linked
against the cygwin1.dll  (with Sergey's AF_UNIX patch) does not
execute.  It gives error, "Application failed to initialized".

Sorry for two different subjects in one message... 

Suhaib

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 10:50     ` Emil Hallin
@ 1999-08-31 23:49       ` Emil Hallin
  0 siblings, 0 replies; 16+ messages in thread
From: Emil Hallin @ 1999-08-31 23:49 UTC (permalink / raw)
  To: dyoung; +Cc: ssiddiqi, Hans - Dulimarta, cygwin

David Young wrote:
> 
> > ... Check http://www.microsoft.com/hwdrv/ddk ...

correct URL is:
http://www.microsoft.com/hwdev/ddk
                            ^

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Accessing serial port.
  1999-08-05 12:08   ` Chris Faylor
  1999-08-05 12:28     ` Suhaib M. Siddiqi
@ 1999-08-31 23:49     ` Chris Faylor
  1 sibling, 0 replies; 16+ messages in thread
From: Chris Faylor @ 1999-08-31 23:49 UTC (permalink / raw)
  To: Suhaib M. Siddiqi; +Cc: Hans - Dulimarta, cygwin

On Thu, Aug 05, 1999 at 01:18:26PM -0400, Suhaib M. Siddiqi wrote:
>
>
>>
>>
>> I am porting my C codes from DJGPP to Cygwin. One of the modules has
>> several lines which read and write to COM1. I rewrite the code using
>> open ("/dev/com1"), read (....), write (....), etc. However, the code
>> seems to hang. The exact same code works fine under Linux by replacing
>> "/dev/com1" to "/dev/ttyS0".
>>
>
>This requires accessing the hardware through a proper device driver on
>Windows.  It is not that easy to change /dev/xxx to someting.  Check
> http://www.microsoft.com/hwdrv/ddk for info about devices.  If it would
>have been so easy I would have finished Xfree86 port a long time ago
>;-)

Um.  No.  I don't know why you think that this requires a device driver.
You should be able to access /dev/com1 using normal open/close/read/write
semantics.

However, there were serial problems in B20.1 that should be fixed in
current snapshots: http://sourceware.cygnus.com/cygwin/snapshots/

cgf

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~1999-08-31 23:49 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-08-05 10:04 Accessing serial port Hans - Dulimarta
1999-08-05 10:20 ` Suhaib M. Siddiqi
1999-08-05 10:35   ` David Young
1999-08-05 10:50     ` Emil Hallin
1999-08-31 23:49       ` Emil Hallin
1999-08-31 23:49     ` David Young
1999-08-05 12:08   ` Chris Faylor
1999-08-05 12:28     ` Suhaib M. Siddiqi
1999-08-05 12:47       ` Chris Faylor
1999-08-05 13:13         ` Suhaib M. Siddiqi
1999-08-31 23:49           ` Suhaib M. Siddiqi
1999-08-31 23:49         ` Chris Faylor
1999-08-31 23:49       ` Suhaib M. Siddiqi
1999-08-31 23:49     ` Chris Faylor
1999-08-31 23:49   ` Suhaib M. Siddiqi
1999-08-31 23:49 ` Hans - Dulimarta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).