Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

It is surely a great calamity for a human being to have no obsessions. -- Robert Bly


computers / alt.sys.pdp10 / TOPS20 Tcp/Ip API

SubjectAuthor
* TOPS20 Tcp/Ip APIPoBe
+* Re: TOPS20 Tcp/Ip APIgah4
|+* Re: TOPS20 Tcp/Ip APIDan Cross
||+- Re: TOPS20 Tcp/Ip APILars Brinkhoff
||+* Re: TOPS20 Tcp/Ip APIAlan Frisbie
|||+* Re: TOPS20 Tcp/Ip APIfishtoprecords
||||`* Re: TOPS20 Tcp/Ip APIQuestor
|||| `* Re: TOPS20 Tcp/Ip APIfishtoprecords
||||  `* Re: TOPS20 Tcp/Ip APIQuestor
||||   +- Re: TOPS20 Tcp/Ip APIfishtoprecords
||||   `* Re: TOPS20 Tcp/Ip APIRich Alderson
||||    `* Re: TOPS20 Tcp/Ip APIfishtoprecords
||||     `- Re: TOPS20 Tcp/Ip APIRich Alderson
|||`- Re: TOPS20 Tcp/Ip APIDan Cross
||`* Re: TOPS20 Tcp/Ip APIgah4
|| `* Re: TOPS20 Tcp/Ip APIDan Cross
||  `* Re: TOPS20 Tcp/Ip APIgah4
||   `* Re: TOPS20 Tcp/Ip APIDan Cross
||    `* Re: TOPS20 Tcp/Ip APIgah4
||     +- Re: TOPS20 Tcp/Ip APIDan Cross
||     `- Re: TOPS20 Tcp/Ip APIPoBe
|`- Re: TOPS20 Tcp/Ip APIDouglas Wells
+- Re: TOPS20 Tcp/Ip APILars Brinkhoff
+- Re: TOPS20 Tcp/Ip APILars Brinkhoff
+- Re: TOPS20 Tcp/Ip APIPoBe
`- Re: TOPS20 Tcp/Ip APIPoBe

Pages:12
TOPS20 Tcp/Ip API

<ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=392&group=alt.sys.pdp10#392

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:ac8:4f44:: with SMTP id i4mr21407774qtw.266.1629530527333; Sat, 21 Aug 2021 00:22:07 -0700 (PDT)
X-Received: by 2002:a9d:7a4e:: with SMTP id z14mr5428231otm.366.1629530527052; Sat, 21 Aug 2021 00:22:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Sat, 21 Aug 2021 00:22:06 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=82.199.169.157; posting-account=xv9v3AoAAAABQj7td0_AwZp67hjQU7nQ
NNTP-Posting-Host: 82.199.169.157
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
Subject: TOPS20 Tcp/Ip API
From: par.olov...@gmail.com (PoBe)
Injection-Date: Sat, 21 Aug 2021 07:22:07 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 13
 by: PoBe - Sat, 21 Aug 2021 07:22 UTC

I have an interest in writing a TOPS20 program utilising tcp/ip. I do have a (vanilla) Panda distribution (7.01) up and running with a working Internet connection. I can Telnet into the machine etc. so I have the basics in place.

I have not fully understand if tcp/ip is layered product or not? I got the impression it's. If so is it pre-installed on the Panada distribution? After all there are a few programs Telnet and FTP on the distribution that works.

I was looking through the JSYSs but I could not find any obvious entry for tcp/ip (Arpanet) communication.

Any hints?

best regards,
PoBe

Re: TOPS20 Tcp/Ip API

<fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=393&group=alt.sys.pdp10#393

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:a0c:8e88:: with SMTP id x8mr23869302qvb.44.1629541445339;
Sat, 21 Aug 2021 03:24:05 -0700 (PDT)
X-Received: by 2002:a05:6830:2b12:: with SMTP id l18mr2971322otv.146.1629541444903;
Sat, 21 Aug 2021 03:24:04 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Sat, 21 Aug 2021 03:24:04 -0700 (PDT)
In-Reply-To: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:6cf1:91f2:ed8c:cfdc;
posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:6cf1:91f2:ed8c:cfdc
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: gah...@u.washington.edu (gah4)
Injection-Date: Sat, 21 Aug 2021 10:24:05 +0000
Content-Type: text/plain; charset="UTF-8"
 by: gah4 - Sat, 21 Aug 2021 10:24 UTC

On Saturday, August 21, 2021 at 12:22:07 AM UTC-7, PoBe wrote:
> I have an interest in writing a TOPS20 program utilising tcp/ip.
> I do have a (vanilla) Panda distribution (7.01) up and running
> with a working Internet connection.
> I can Telnet into the machine etc. so I have the basics in place.

My favorite book series has two versions of vol. 3, on the API for
using TCP/IP. One is BSD/sockets, and the other is TLI.

I hadn't thought about this in terms of TOPS-20 before you asked,
but there are some references that trace BSD/sockets back to TOPS-20.

Since TENEX traces back to ARPAnet days, it isn't surprising that it also
traces back early in the days of IP. One reference is that DoD had BSD
people create the sockets implementation so that they could get IP
onto their Unix systems, along with their TOPS-20 systems.

Re: TOPS20 Tcp/Ip API

<7wv93z7y7z.fsf@junk.nocrew.org>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=394&group=alt.sys.pdp10#394

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
From: lars.s...@nocrew.org (Lars Brinkhoff)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Organization: nocrew
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
Date: Sat, 21 Aug 2021 12:56:32 +0000
Message-ID: <7wv93z7y7z.fsf@junk.nocrew.org>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Cancel-Lock: sha1:4/yDBehnYuFdXP8d5IcuucEqRRs=
MIME-Version: 1.0
Content-Type: text/plain
Lines: 6
NNTP-Posting-Host: 97fb6ccc.news.sunsite.dk
X-Trace: 1629550592 news.sunsite.dk 700 lars@junk.nocrew.org/51.15.56.219:52184
X-Complaints-To: staff@sunsite.dk
 by: Lars Brinkhoff - Sat, 21 Aug 2021 12:56 UTC

PoBe wrote:
> I was looking through the JSYSs but I could not find any obvious entry
> for tcp/ip (Arpanet) communication.

I don't know about TOPS-20, but I found some promising text in
<DOCUMENTATION>JSYS_REFERENCE.MEM. Search for TCP.

Re: TOPS20 Tcp/Ip API

<7wr1en7xm2.fsf@junk.nocrew.org>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=395&group=alt.sys.pdp10#395

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
From: lars.s...@nocrew.org (Lars Brinkhoff)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Organization: nocrew
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
Date: Sat, 21 Aug 2021 13:09:41 +0000
Message-ID: <7wr1en7xm2.fsf@junk.nocrew.org>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Cancel-Lock: sha1:nQIDzKjstZP4CnY+yKKoucy6ENM=
MIME-Version: 1.0
Content-Type: text/plain
Lines: 2
NNTP-Posting-Host: ccb616cf.news.sunsite.dk
X-Trace: 1629551381 news.sunsite.dk 700 lars@junk.nocrew.org/51.15.56.219:52184
X-Complaints-To: staff@sunsite.dk
 by: Lars Brinkhoff - Sat, 21 Aug 2021 13:09 UTC

If someone would like to do TCP/IP programming on ITS, I could be more
helpful.

Re: TOPS20 Tcp/Ip API

<sfqufk$ak3$1@reader1.panix.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=396&group=alt.sys.pdp10#396

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!panix!.POSTED.spitfire.i.gajendra.net!not-for-mail
From: cro...@spitfire.i.gajendra.net (Dan Cross)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Date: Sat, 21 Aug 2021 13:18:44 -0000 (UTC)
Organization: PANIX Public Access Internet and UNIX, NYC
Message-ID: <sfqufk$ak3$1@reader1.panix.com>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com>
Injection-Date: Sat, 21 Aug 2021 13:18:44 -0000 (UTC)
Injection-Info: reader1.panix.com; posting-host="spitfire.i.gajendra.net:166.84.136.80";
logging-data="10883"; mail-complaints-to="abuse@panix.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: cross@spitfire.i.gajendra.net (Dan Cross)
 by: Dan Cross - Sat, 21 Aug 2021 13:18 UTC

In article <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com>,
gah4 <gah4@u.washington.edu> wrote:
>On Saturday, August 21, 2021 at 12:22:07 AM UTC-7, PoBe wrote:
>> I have an interest in writing a TOPS20 program utilising tcp/ip.
>> I do have a (vanilla) Panda distribution (7.01) up and running
>> with a working Internet connection.
>> I can Telnet into the machine etc. so I have the basics in place.
>
>My favorite book series has two versions of vol. 3, on the API for
>using TCP/IP. One is BSD/sockets, and the other is TLI.

You're surely referring to W. Richard Stevens's "Unix Network
Programming". The second edition of those books was shipped in
two volumes: one covering BSD sockets and XTI, the other
covering other forms of IPC (pipes, SYSV shared memory, message
passing, a bunch of multithreading topics around critical
sections and mutual exclusion, etc).

It's probably worthwhile pointing out that every extant modern
version of Unix ships with sockets, and almost nothing uses TLI.
Historical versions of System V derivitives might ship with the
latter, however.

Stevens's book is now in its 3rd edition, carried on after
Stevens's untimely death by Bill Fenner and Andrew Rudoff.

>I hadn't thought about this in terms of TOPS-20 before you asked,
>but there are some references that trace BSD/sockets back to TOPS-20.

Not exactly. The idea of "sockets" as an abstraction was around
in the early TCP/IP days, and in those days, a lot of work was
being done on TENEX/TOPS-20, so the idea was floating around.
But the BSD sockets implementation was built from scratch for
Unix. Well, an initial implementation was done at BBN under a
DARPA contract, but it was modified, expanded, and arguably
improved at UC Berkeley for 4BSD.

>Since TENEX traces back to ARPAnet days, it isn't surprising that it also
>traces back early in the days of IP. One reference is that DoD had BSD
>people create the sockets implementation so that they could get IP
>onto their Unix systems, along with their TOPS-20 systems.

Partially correct. The PDP-10 had heavy presence on the ARPANET,
but by the late 70s/early 80s was clearly reaching end of life
as a hardware platform. At the same time, the DoD was looking
for a common software platform for its contractors; the
competition was between VMS on the VAX and Unix. A working
TCP/IP implementation was a prerequisite, but not necessarily
for communications with TOPS-20 specificailly.

Sadly, with respect to the OP's original question, I cannot
provide a useful answer. My thought is that there will be
some set of JSYS targets that implement TCP/IP functionality,
and that one would fill in some well-defined data structures
analogous to sockaddr_in in the BSD sockets world that those
JSYS calls consume. It wouldn't surprise me if the TOPS-20
C compilers have a sockets compatibility library. But to get
started with whatever the "native" JSYS API is, I'd recommend
looking at something simple like the `finger` client.

- Dan C.

Re: TOPS20 Tcp/Ip API

<7wlf4u940p.fsf@junk.nocrew.org>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=397&group=alt.sys.pdp10#397

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
From: lars.s...@nocrew.org (Lars Brinkhoff)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Organization: nocrew
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
<fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com>
<sfqufk$ak3$1@reader1.panix.com>
Date: Sat, 21 Aug 2021 16:05:58 +0000
Message-ID: <7wlf4u940p.fsf@junk.nocrew.org>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Cancel-Lock: sha1:jGawvj568BxsSipJPp7fuYiKN0Y=
MIME-Version: 1.0
Content-Type: text/plain
Lines: 8
NNTP-Posting-Host: 2df84fc7.news.sunsite.dk
X-Trace: 1629561958 news.sunsite.dk 700 lars@junk.nocrew.org/51.15.56.219:52184
X-Complaints-To: staff@sunsite.dk
 by: Lars Brinkhoff - Sat, 21 Aug 2021 16:05 UTC

Dan Cross wrote:
> Sadly, with respect to the OP's original question, I cannot provide a
> useful answer. My thought is that there will be some set of JSYS
> targets that implement TCP/IP functionality, and that one would fill
> in some well-defined data structures

As far as I can see, you open (GETJFN) a file name starting with "TCP:".
Parameters, including host name and port, follow after TCP:

Re: TOPS20 Tcp/Ip API

<1629566924.62551@nowhere.invalid>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=398&group=alt.sys.pdp10#398

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: nr201...@gmail.com (Douglas Wells)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Date: Sat, 21 Aug 2021 13:28:44 -0400 (EDT)
Organization: A noiseless patient Spider
Lines: 1312
Message-ID: <1629566924.62551@nowhere.invalid>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="cccdbd5bb98e6afa502018fb38738ce5";
logging-data="5572"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19RAZMxSSmoD22g10aInA3H"
Cancel-Lock: sha1:F5+Ip9uSR6zGVkmYnqTuN4RIdbE=
 by: Douglas Wells - Sat, 21 Aug 2021 17:28 UTC

In article <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com>,
gah4 <gah4@u.washington.edu> wrote:
>On Saturday, August 21, 2021 at 12:22:07 AM UTC-7, PoBe wrote:
>> I have an interest in writing a TOPS20 program utilising tcp/ip.
>> I do have a (vanilla) Panda distribution (7.01) up and running
>> with a working Internet connection.
>> I can Telnet into the machine etc. so I have the basics in place.
>
>I hadn't thought about this in terms of TOPS-20 before you asked,
>but there are some references that trace BSD/sockets back to TOPS-20.
>
>Since TENEX traces back to ARPAnet days, it isn't surprising that it also
>traces back early in the days of IP. One reference is that DoD had BSD
>people create the sockets implementation so that they could get IP
>onto their Unix systems, along with their TOPS-20 systems.

The concept of sockets dates to the first days of ARPAnet (using
NCP(*)). Although there were a myriad of various OSs, each generally
had an I/O model similar to UNIX/POSIX open/read/write/close. This
was generally readily transferable to the ARPAnet NCP by thinking of
the ARPAnet connection as a multiplexed serial link (as was widely
available by the late 60s and early 70s. What was "new" was the huge
number of subdevices (64Ki) as opposed to less than (typically) 100.
This was too many devices for the memory-limited OSs to allocate
(i.e., waste memory space on) at build or boot time. Instead, one had
to make a call to the OS to allocate such a subdevice. These became
known as sockets. (I don't know the actual derivation of the name;
most likely it was simply one of a set of connection-oriented names
that wasn't in use for something else.)

(*) What people generally refer to today as NCP was actually the
ARPAnet Host-to-Host protocol, a name that was rapidly dropped with
the start of TCP development in the mid-1970s.

But the real reason for this post is that I include a sample program
to do TCP/IP communication on various systems, including TOPS-20.
Please excuse the huge number of preprocessor options. The intent was
to make the same source program operate on numerous OSs. There are
also hacks to get around various limitations (including the problem
with the LINKER on TOPS-20 actually being the TOPS-10 program (or
close to it). Also, I apologize for the size of the program.

Note that use of UDP requires elevated privileges on TOPS-20, so no
code for that is available here.

I hope that the program comments will provide sufficient context. This
program was last run on twenex and toad-1, probably in 2013 (and
hasn't been touched since). Also, I haven't bothered to chase down
the necessary additional files to make this run. My purpose is to
show some code that does TCP/IP.

- dmw

----------------- snip here ---------------------------------

/* Adapted from ~/develop/time/nettime/c_getnettime.c (21 Dec 2011) */

/* netday - the object of this program is to display the */
/* time of day, as obtained via the DAYTIME protocol (port 13) */
/* of a specified host. The purpose of writing this program */
/* is to explore the use of low-level JSYS calls on TOPS-20. */
/* A specific goal is to have it run on twenex.org, which does */
/* not have KCC USYS network support. */

/* FIXME: The USE_TCP_OPEN option doesn't work. There is */
/* garbage that looks like a byte pointer and other cruft) in */
/* the receive buffer -- although the receive count is correct. */
/* If we patch things and use a SIN JSYS (instead of a read), */
/* everything looks ok. */

/* BSD sockets work on daisy and toad-1 (and FreeBSD) */
/* JSYS sockets work on toad-1 and on twenex */
/* TCP_OPEN works on twenex, doesn't work on toad-1 (always get timeout) */

#include <stdlib.h>
#include <stdio.h>
/* #if (__STDC_VERSION__ >= 199901L) || (__GNUC__ >= 3) */
/* # include <stdbool.h> */
/* #endif */
#if __STDC__
# include <stdarg.h>
# include <limits.h>
#else
# include <varargs.h>
#endif

#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <signal.h>
#include <string.h>
#include <time.h>

/* #if ! __bool_true_false_are_defined */
/* typedef unsigned int _Bool; */
/* # define bool _Bool */
# define bool int
# define false 0
# define true 1
# define __bool_true_false_are_defined 1
/* #endif */

#if ! defined (__unix__)
# if defined (__unix)
# define __unix__ __unix
# elif defined (unix)
# define __unix__ unix
# elif defined (__APPLE_CC__)
# define __unix__ __APPLE_CC__
# endif
#endif

#if defined (__COMPILER_KCC__)
# if __STDC__ /* this is our indicator */
# define xKCCLIB_VERSION 6
# else
# define xKCCLIB_VERSION 5
# endif
#endif /* defined (__COMPILER_KCC__) */

#if __STDC__
# define CONST const
#else
# define CONST
#endif
/* These characteristics are assumed by default: */
#define HAVE_UDP 1
#define HAVE_TCP 1

#if SYS_T20
# define HAVE_GTHST 1
# undef HAVE_UDP
# define HAVE_UDP 0

# define USE_BSD_SOCKETS 0
# define USE_JSYS_SOCKETS 1
# define USE_TCP_OPEN 0 /* FIXME: this doesn't work yet */
# define USE_JSYS_READ_WITH_TCP_OPEN (USE_TCP_OPEN && 0)

# include <sys/types.h>
# include <sys/time.h>

# if USE_TCP_OPEN
# include <fcntl.h>
# if xKCCLIB_VERSION < 6
# define O_RDWR (02) /* Open for reading and writing */
# define O_BINARY (0100) /* Open in binary mode (sys-dep) */
# define O_BSIZE_8 (020000) /* Bytesize value: 8-bit */
# endif
# endif

# if xKCCLIB_VERSION >= 6
# include <unistd.h>
# endif /* __STDC__ */

typedef int SOCKET;
# define recv(h, b, l, f) read ((h), (b), (l))
# define CLOSESOCKET(s) close (s)
# define INVALID_SOCKET (-1)
# define SOCKET_ERROR (-1)

# define HAVE_GETHOSTBYNAME 1
# define HAVE_INET_FUNCS (xKCCLIB_VERSION >= 6) /* basic inet_... */
#else /* SYS_T20 */
# define SYS_T20 0
#endif /* SYS_T20 */

#if defined (__unix__)
# include <unistd.h>

# include <sys/types.h>
# include <sys/time.h>

typedef int SOCKET;
# define CLOSESOCKET(s) close (s)
# define INVALID_SOCKET (-1)
# define SOCKET_ERROR (-1)

# define USE_BSD_SOCKETS 1
# define HAVE_GETHOSTBYNAME 1
# define HAVE_INET_FUNCS 1 /* orig/basic inet_... */
#endif

#if (USE_BSD_SOCKETS + USE_JSYS_SOCKETS + USE_TCP_OPEN) != 1
# error "Must select exactly one socket mechanism."
#endif

#include "str789.h"

#if USE_JSYS_SOCKETS || HAVE_GTHST || USE_JSYS_READ_WITH_TCP_OPEN
# include <jsys.h>
# include <monsym.h>
# include <macsym.h>

# define dGTHLA monsym (".gthla")
# define dGTHSN monsym (".gthsn")
# define dPRIOU monsym (".priou")
# define dTCMWH monsym (".tcmwh")
/* Some, but not all, of these names */
/* are defined if we simply replace */
/* the percent by an underscore. So, */
/* we use a different convention. */
# define GJ__NEW monsym ("gj%new")
# define GJ__SHT monsym ("gj%sht")
# define GS__EOF monsym ("gs%eof")
# define OF__BSZ monsym ("of%bsz")
# define OF__MOD monsym ("of%mod")
# define OF__PLN monsym ("of%pln")
# define OF__RD monsym ("of%rd")
# define OF__WR monsym ("of%wr")

# define HALFWORDMASK 0777777
#endif
#if USE_BSD_SOCKETS
# include <sys/socket.h>
# include <netinet/in.h>
#endif
#if HAVE_GETHOSTBYNAME
# include <netdb.h>
# if SYS_T20 && (xKCCLIB_VERSION < 6)
struct in_addr
{ unsigned long s_addr;
};
# else /* SYS_T20 && (xKCCLIB_VERSION < 6) */
# include <netinet/in.h> /* struct in_addr is supposed to be in <arpa/inet.h> */
# endif /* SYS_T20 && (xKCCLIB_VERSION < 6) */
#endif /* HAVE_GETHOSTBYNAME */
#if HAVE_INET_FUNCS
# include <arpa/inet.h>
#else
# define NEED_INET_NTOA 1 /* we fabriate this if we need it */
#endif

#if defined (__APPLE_CC__)
# define HAVE_TIMEOUT_SOCKOPT 1
# if (__APPLE_CC__ < 1495) /* prior to Darwin 7.0 */
typedef int socklen_t;
# endif
#elif defined (__FreeBSD__)
# if (__FreeBSD__ < 5)
typedef uint32_t in_addr_t;
typedef uint16_t in_port_t;
# endif
# define HAVE_TIMEOUT_SOCKOPT 1
#elif defined (__linux__)
# if defined (__GNUC__) && (__GNUC__ >= 3)
# define HAVE_TIMEOUT_SOCKOPT 1
# else
typedef uint32_t in_addr_t;
typedef uint16_t in_port_t;
# endif
#elif SYS_T20
# define HAVE_TIMEOUT_SOCKOPT 0
typedef int socklen_t;
typedef unsigned short in_port_t;
typedef unsigned int in_addr_t;
# define INADDR_NONE ((in_addr_t) -1)
# define ntohs(x) (x)
# define ntohl(x) (x)
# define htons(x) (x)
# define htonl(x) (x)
# if xKCCLIB_VERSION < 6
typedef int ssize_t;
# define INADDR_LOOPBACK (unsigned long) 0x7f000001
# endif
#endif


Click here to read the complete article
Re: TOPS20 Tcp/Ip API

<DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=399&group=alt.sys.pdp10#399

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.usenet.farm!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!buffer2.nntp.dca1.giganews.com!nntp.supernews.com!news.supernews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 21 Aug 2021 13:36:27 -0500
Subject: Re: TOPS20 Tcp/Ip API
Newsgroups: alt.sys.pdp10
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com>
From: Usenet03...@flying-disk.com (Alan Frisbie)
Date: Sat, 21 Aug 2021 11:36:26 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <sfqufk$ak3$1@reader1.panix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Message-ID: <DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com>
Lines: 13
X-Trace: sv3-KC6npXbh4t+T4WHF/XC2Rco1YDlzHtic8sjAsql8hXIRt26NcfH6dvEtfmHilWvpu7HPAlHbrasVGXj!g5YnkrS2ZHZVJOEu8zIOGviQAxU6a+z6agdlQcC3gnZXUWlOzyvaS64Qg4dwzJega6OG3mzImXSP!ohiA6d48jr0=
X-Complaints-To: www.supernews.com/docs/abuse.html
X-DMCA-Complaints-To: www.supernews.com/docs/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 1761
 by: Alan Frisbie - Sat, 21 Aug 2021 18:36 UTC

On 8/21/21 6:18 AM, Dan Cross wrote:

> You're surely referring to W. Richard Stevens's "Unix Network
> Programming".
> ...
> Stevens's book is now in its 3rd edition, carried on after
> Stevens's untimely death by Bill Fenner and Andrew Rudoff.
I'm sorry, but I must have an extremely sick mind. When I
read this, an alternative meaning sprang forth: that Stevens's
death was *caused* by Fenner and Rudoff. Perhaps I should
seek help. :-) :-) :-)

Alan Frisbie

Re: TOPS20 Tcp/Ip API

<39ced6fa-df0f-4010-9668-cadaa2276809n@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=400&group=alt.sys.pdp10#400

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:a05:620a:14b1:: with SMTP id x17mr14787734qkj.37.1629591109932;
Sat, 21 Aug 2021 17:11:49 -0700 (PDT)
X-Received: by 2002:a9d:7cd7:: with SMTP id r23mr22802363otn.165.1629591109671;
Sat, 21 Aug 2021 17:11:49 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Sat, 21 Aug 2021 17:11:49 -0700 (PDT)
In-Reply-To: <DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=74.103.149.104; posting-account=5pAuXwkAAADYxu_vHG_N6x8Gdf1I-9kI
NNTP-Posting-Host: 74.103.149.104
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
<fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com>
<DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <39ced6fa-df0f-4010-9668-cadaa2276809n@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: pat22...@gmail.com (fishtoprecords)
Injection-Date: Sun, 22 Aug 2021 00:11:49 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1763
 by: fishtoprecords - Sun, 22 Aug 2021 00:11 UTC

There was none that I knew of for TOPS-20. DEC (or LCG) sold special Tops20-AN versions. AN was for "Arpanet networking"
which was for sinners, since all true believers thought DEC's OSI/IOS based DECnet was the future. It was impossible to get any information about TOPS20AN from my local DEC salesman.

I have no idea why LCG pushed DECnet so hard, since they delivered pretty braindead and restricted versions of DECnet until post-Jupiter cancellation at which point TOPS-20 was no longer a viable product to market.

Re: TOPS20 Tcp/Ip API

<e4d3ab65-d384-422c-bb03-fee99754cca6n@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=401&group=alt.sys.pdp10#401

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:a37:6447:: with SMTP id y68mr15989560qkb.296.1629622866730;
Sun, 22 Aug 2021 02:01:06 -0700 (PDT)
X-Received: by 2002:a05:6830:418e:: with SMTP id r14mr16104452otu.257.1629622866519;
Sun, 22 Aug 2021 02:01:06 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Sun, 22 Aug 2021 02:01:06 -0700 (PDT)
In-Reply-To: <sfqufk$ak3$1@reader1.panix.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:f50a:c452:ff7d:6484;
posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:f50a:c452:ff7d:6484
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
<fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e4d3ab65-d384-422c-bb03-fee99754cca6n@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: gah...@u.washington.edu (gah4)
Injection-Date: Sun, 22 Aug 2021 09:01:06 +0000
Content-Type: text/plain; charset="UTF-8"
 by: gah4 - Sun, 22 Aug 2021 09:01 UTC

On Saturday, August 21, 2021 at 6:18:45 AM UTC-7, Dan Cross wrote:
> In article <fd4f04dc-4989-4bd1...@googlegroups.com>,

(snip, I wrote)
> >My favorite book series has two versions of vol. 3, on the API for
> >using TCP/IP. One is BSD/sockets, and the other is TLI.

> You're surely referring to W. Richard Stevens's "Unix Network
> Programming". The second edition of those books was shipped in
> two volumes: one covering BSD sockets and XTI, the other
> covering other forms of IPC (pipes, SYSV shared memory, message
> passing, a bunch of multithreading topics around critical
> sections and mutual exclusion, etc).

Actually, it is the Comer books. I know about Stevens' books, but
started with the Comer books and still like them.

I think I got the TLI book at a thrift store, not completely knowing
what the difference was at the time.

> It's probably worthwhile pointing out that every extant modern
> version of Unix ships with sockets, and almost nothing uses TLI.
> Historical versions of System V derivitives might ship with the
> latter, however.

The unusual part about sockets, or at least ones with BSD heritage,
is that sockets and file descriptors are in the same address space.
One can use either send/recv or read/write with them. I believe some
implementations without Unix heritage don't do that.

Re: TOPS20 Tcp/Ip API

<sfuobb$qq1$1@reader1.panix.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=402&group=alt.sys.pdp10#402

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!panix!.POSTED.spitfire.i.gajendra.net!not-for-mail
From: cro...@spitfire.i.gajendra.net (Dan Cross)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Date: Sun, 22 Aug 2021 23:58:35 -0000 (UTC)
Organization: PANIX Public Access Internet and UNIX, NYC
Message-ID: <sfuobb$qq1$1@reader1.panix.com>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com> <DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com>
Injection-Date: Sun, 22 Aug 2021 23:58:35 -0000 (UTC)
Injection-Info: reader1.panix.com; posting-host="spitfire.i.gajendra.net:166.84.136.80";
logging-data="27457"; mail-complaints-to="abuse@panix.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: cross@spitfire.i.gajendra.net (Dan Cross)
 by: Dan Cross - Sun, 22 Aug 2021 23:58 UTC

In article <DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com>,
Alan Frisbie <Usenet03_REMOVE@flying-disk.com> wrote:
>On 8/21/21 6:18 AM, Dan Cross wrote:
>
>> You're surely referring to W. Richard Stevens's "Unix Network
>> Programming".
>> ...
>> Stevens's book is now in its 3rd edition, carried on after
>> Stevens's untimely death by Bill Fenner and Andrew Rudoff.
>I'm sorry, but I must have an extremely sick mind. When I
>read this, an alternative meaning sprang forth: that Stevens's
>death was *caused* by Fenner and Rudoff. Perhaps I should
>seek help. :-) :-) :-)

Ha! I can't image Bill Fenner engaging in violence. :-)

- Dan C.

Re: TOPS20 Tcp/Ip API

<sfuoqd$qq1$2@reader1.panix.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=403&group=alt.sys.pdp10#403

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!panix!.POSTED.spitfire.i.gajendra.net!not-for-mail
From: cro...@spitfire.i.gajendra.net (Dan Cross)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Date: Mon, 23 Aug 2021 00:06:37 -0000 (UTC)
Organization: PANIX Public Access Internet and UNIX, NYC
Message-ID: <sfuoqd$qq1$2@reader1.panix.com>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com> <e4d3ab65-d384-422c-bb03-fee99754cca6n@googlegroups.com>
Injection-Date: Mon, 23 Aug 2021 00:06:37 -0000 (UTC)
Injection-Info: reader1.panix.com; posting-host="spitfire.i.gajendra.net:166.84.136.80";
logging-data="27457"; mail-complaints-to="abuse@panix.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: cross@spitfire.i.gajendra.net (Dan Cross)
 by: Dan Cross - Mon, 23 Aug 2021 00:06 UTC

In article <e4d3ab65-d384-422c-bb03-fee99754cca6n@googlegroups.com>,
gah4 <gah4@u.washington.edu> wrote:
>On Saturday, August 21, 2021 at 6:18:45 AM UTC-7, Dan Cross wrote:
>> In article <fd4f04dc-4989-4bd1...@googlegroups.com>,
>
>(snip, I wrote)
>> >My favorite book series has two versions of vol. 3, on the API for
>> >using TCP/IP. One is BSD/sockets, and the other is TLI.
>
>> You're surely referring to W. Richard Stevens's "Unix Network
>> Programming". The second edition of those books was shipped in
>> two volumes: one covering BSD sockets and XTI, the other
>> covering other forms of IPC (pipes, SYSV shared memory, message
>> passing, a bunch of multithreading topics around critical
>> sections and mutual exclusion, etc).
>
>Actually, it is the Comer books. I know about Stevens' books, but
>started with the Comer books and still like them.

Ah. Comer's books are quite good, if a little dated at this point.

>I think I got the TLI book at a thrift store, not completely knowing
>what the difference was at the time.

Ha! That's quite a find.

>> It's probably worthwhile pointing out that every extant modern
>> version of Unix ships with sockets, and almost nothing uses TLI.
>> Historical versions of System V derivitives might ship with the
>> latter, however.
>
>The unusual part about sockets, or at least ones with BSD heritage,
>is that sockets and file descriptors are in the same address space.
>One can use either send/recv or read/write with them. I believe some
>implementations without Unix heritage don't do that.

That's not quite true; socket descriptors and file descriptors
provide similar mechanisms for IO using e.g. read/write/close,
but the similarly stops there: one cannot send/recv to/from a
file, for example. Similarly, `select` on a file always returns
immediately, as the file is always "ready" for reading/writing;
the idea of blocking for more data to show up is specific to IPC.

Sockets also exist outside of the filesystem name space, which
is a bit of an unfortunate defect in the design of the mechanism.

- Dan C.

Re: TOPS20 Tcp/Ip API

<79829bbf-15bb-486c-ad04-465181945ee6n@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=404&group=alt.sys.pdp10#404

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:a05:622a:394:: with SMTP id j20mr24197702qtx.196.1629705716324; Mon, 23 Aug 2021 01:01:56 -0700 (PDT)
X-Received: by 2002:a05:6830:418e:: with SMTP id r14mr19237279otu.257.1629705716080; Mon, 23 Aug 2021 01:01:56 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder5.feed.usenet.farm!feeder1.feed.usenet.farm!feed.usenet.farm!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Mon, 23 Aug 2021 01:01:55 -0700 (PDT)
In-Reply-To: <sfuoqd$qq1$2@reader1.panix.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:b09e:a9e2:848:e28a; posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:b09e:a9e2:848:e28a
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com> <e4d3ab65-d384-422c-bb03-fee99754cca6n@googlegroups.com> <sfuoqd$qq1$2@reader1.panix.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <79829bbf-15bb-486c-ad04-465181945ee6n@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: gah...@u.washington.edu (gah4)
Injection-Date: Mon, 23 Aug 2021 08:01:56 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 37
 by: gah4 - Mon, 23 Aug 2021 08:01 UTC

On Sunday, August 22, 2021 at 5:06:38 PM UTC-7, Dan Cross wrote:
> In article <e4d3ab65-d384-422c...@googlegroups.com>,

(snip, I wrote)
> >Actually, it is the Comer books. I know about Stevens' books, but
> >started with the Comer books and still like them.

> Ah. Comer's books are quite good, if a little dated at this point.
> >I think I got the TLI book at a thrift store, not completely knowing
> >what the difference was at the time.

> Ha! That's quite a find.

(snip)
> >The unusual part about sockets, or at least ones with BSD heritage,
> >is that sockets and file descriptors are in the same address space.
> >One can use either send/recv or read/write with them. I believe some
> >implementations without Unix heritage don't do that.

> That's not quite true; socket descriptors and file descriptors
> provide similar mechanisms for IO using e.g. read/write/close,
> but the similarly stops there: one cannot send/recv to/from a
> file, for example. Similarly, `select` on a file always returns
> immediately, as the file is always "ready" for reading/writing;
> the idea of blocking for more data to show up is specific to IPC.

I conveniently didn't say that you could send/recv on a file.
Mostly this come into the way that inetd works, where the new
task uses fd/socket 0. (I haven't thought about this for a while,
I believe also fd/socket 1.)

So, a program can read/write stdin/stdout without knowing anything
about sockets. But otherwise, if it can send/recv on socket 0, it is
probably close enough.

> Sockets also exist outside of the filesystem name space, which
> is a bit of an unfortunate defect in the design of the mechanism.

Re: TOPS20 Tcp/Ip API

<sg03hk$euk$1@reader2.panix.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=405&group=alt.sys.pdp10#405

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!panix!.POSTED.spitfire.i.gajendra.net!not-for-mail
From: cro...@spitfire.i.gajendra.net (Dan Cross)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Date: Mon, 23 Aug 2021 12:15:48 -0000 (UTC)
Organization: PANIX Public Access Internet and UNIX, NYC
Message-ID: <sg03hk$euk$1@reader2.panix.com>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <e4d3ab65-d384-422c-bb03-fee99754cca6n@googlegroups.com> <sfuoqd$qq1$2@reader1.panix.com> <79829bbf-15bb-486c-ad04-465181945ee6n@googlegroups.com>
Injection-Date: Mon, 23 Aug 2021 12:15:48 -0000 (UTC)
Injection-Info: reader2.panix.com; posting-host="spitfire.i.gajendra.net:166.84.136.80";
logging-data="15316"; mail-complaints-to="abuse@panix.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: cross@spitfire.i.gajendra.net (Dan Cross)
 by: Dan Cross - Mon, 23 Aug 2021 12:15 UTC

In article <79829bbf-15bb-486c-ad04-465181945ee6n@googlegroups.com>,
gah4 <gah4@u.washington.edu> wrote:
>On Sunday, August 22, 2021 at 5:06:38 PM UTC-7, Dan Cross wrote:
>> In article <e4d3ab65-d384-422c...@googlegroups.com>,
>
>(snip, I wrote)
>> >Actually, it is the Comer books. I know about Stevens' books, but
>> >started with the Comer books and still like them.
>
>> Ah. Comer's books are quite good, if a little dated at this point.
>> >I think I got the TLI book at a thrift store, not completely knowing
>> >what the difference was at the time.
>
>> Ha! That's quite a find.
>
>(snip)
>> >The unusual part about sockets, or at least ones with BSD heritage,
>> >is that sockets and file descriptors are in the same address space.
>> >One can use either send/recv or read/write with them. I believe some
>> >implementations without Unix heritage don't do that.
>
>> That's not quite true; socket descriptors and file descriptors
>> provide similar mechanisms for IO using e.g. read/write/close,
>> but the similarly stops there: one cannot send/recv to/from a
>> file, for example. Similarly, `select` on a file always returns
>> immediately, as the file is always "ready" for reading/writing;
>> the idea of blocking for more data to show up is specific to IPC.
>
>I conveniently didn't say that you could send/recv on a file.

Perhaps I misunderstood your comment where you said that,
"One can use either send/recv or read/write with them."

That was in the context of discussing how files and sockets
are were in the same address space. My point is that that is
only true that in a socket descriptor is an index in the
process's local descriptor table and can be the target of a
handful of overlapping IO calls. However, the similarity
stops there.

>Mostly this come into the way that inetd works, where the new
>task uses fd/socket 0. (I haven't thought about this for a while,
> I believe also fd/socket 1.)

No. Read/write/close on a socket descriptor predate the
existance of inetd, and date back to the original `namei`
hacks used in network Unix and the BBN TCP/IP prototype.
It was done that way because that's just how Unix does IO,
but people quickly realized that networking required a
richer API than that used for simple local filesystems,
hence send/recv/sendmsg/recvmsg etc.

Inetd was created in response to the overhead involved in
having multiple independent network daemons running on
overloaded timesharing machines; it was cheaper to have
one program that mux'ed the network listening duties and
spent most of its time blocked on select(2).

You are correct that file descriptor 1 is dup'ed to the
socket by inetd, though. It also dup's the socket to 2
(standard error).

>So, a program can read/write stdin/stdout without knowing anything
>about sockets. But otherwise, if it can send/recv on socket 0, it is
>probably close enough.

A delve into Unix history is always nice, but I'm afraid this
is all rather far-afield from network programming for TOPS-20
at this point. :-)

- Dan C.

Re: TOPS20 Tcp/Ip API

<a1e34055-805c-4157-9be6-4e101318deddn@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=406&group=alt.sys.pdp10#406

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:ac8:5805:: with SMTP id g5mr14635002qtg.360.1629786376029;
Mon, 23 Aug 2021 23:26:16 -0700 (PDT)
X-Received: by 2002:a9d:7653:: with SMTP id o19mr31017150otl.236.1629786375781;
Mon, 23 Aug 2021 23:26:15 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Mon, 23 Aug 2021 23:26:15 -0700 (PDT)
In-Reply-To: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=37.123.157.199; posting-account=xv9v3AoAAAABQj7td0_AwZp67hjQU7nQ
NNTP-Posting-Host: 37.123.157.199
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a1e34055-805c-4157-9be6-4e101318deddn@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: par.olov...@gmail.com (PoBe)
Injection-Date: Tue, 24 Aug 2021 06:26:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: PoBe - Tue, 24 Aug 2021 06:26 UTC

lördag 21 augusti 2021 kl. 09:22:07 UTC+2 skrev PoBe:
> I have an interest in writing a TOPS20 program utilising tcp/ip. I do have a (vanilla) Panda distribution (7.01) up and running with a working Internet connection. I can Telnet into the machine etc. so I have the basics in place.
>
> I have not fully understand if tcp/ip is layered product or not? I got the impression it's. If so is it pre-installed on the Panada distribution? After all there are a few programs Telnet and FTP on the distribution that works.
>
> I was looking through the JSYSs but I could not find any obvious entry for tcp/ip (Arpanet) communication.
>
> Any hints?
>
> best regards,
> PoBe

I tried KCC-6 with some success. I got a client program working (connected to a Linux host), fairly straight forward. I never got the setOptions to work, even if there seams to be some code for it.
However on the server side most of the implementation is missing i.e. bind,accept and listen. The socket related implementation code is found under ps:<kcc-6.lib.socket> and ps:<kcc-6.lib.inet> on the Panda distribution.

Re: TOPS20 Tcp/Ip API

<378e6fe7-717c-479b-8e96-17dd61b8f842n@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=407&group=alt.sys.pdp10#407

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:a37:ab15:: with SMTP id u21mr24701021qke.439.1629788668051;
Tue, 24 Aug 2021 00:04:28 -0700 (PDT)
X-Received: by 2002:a9d:17c5:: with SMTP id j63mr4902397otj.208.1629788667669;
Tue, 24 Aug 2021 00:04:27 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Tue, 24 Aug 2021 00:04:27 -0700 (PDT)
In-Reply-To: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=37.123.157.199; posting-account=xv9v3AoAAAABQj7td0_AwZp67hjQU7nQ
NNTP-Posting-Host: 37.123.157.199
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <378e6fe7-717c-479b-8e96-17dd61b8f842n@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: par.olov...@gmail.com (PoBe)
Injection-Date: Tue, 24 Aug 2021 07:04:28 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: PoBe - Tue, 24 Aug 2021 07:04 UTC

lördag 21 augusti 2021 kl. 09:22:07 UTC+2 skrev PoBe:
> I have an interest in writing a TOPS20 program utilising tcp/ip. I do have a (vanilla) Panda distribution (7.01) up and running with a working Internet connection. I can Telnet into the machine etc. so I have the basics in place.
>
> I have not fully understand if tcp/ip is layered product or not? I got the impression it's. If so is it pre-installed on the Panada distribution? After all there are a few programs Telnet and FTP on the distribution that works.
>
> I was looking through the JSYSs but I could not find any obvious entry for tcp/ip (Arpanet) communication.
>
> Any hints?
>
> best regards,
> PoBe

I tried KCC-6 with some success. I got a client program working (connected to a Linux host), fairly straight forward. I never got the setOptions to work, even if there seams to be some code for it.
However on the server side most of the implementation is missing i.e. bind,accept and listen. The socket related implementation code is found under ps:<kcc-6.lib.socket> and ps:<kcc-6.lib.inet> on the Panda distribution.

Re: TOPS20 Tcp/Ip API

<2d0c83ca-7c71-4cd8-ab7e-1bfc0e0f211fn@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=408&group=alt.sys.pdp10#408

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:ac8:5ad5:: with SMTP id d21mr33623066qtd.200.1629792993381; Tue, 24 Aug 2021 01:16:33 -0700 (PDT)
X-Received: by 2002:aca:aa47:: with SMTP id t68mr1942141oie.25.1629792993174; Tue, 24 Aug 2021 01:16:33 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Tue, 24 Aug 2021 01:16:33 -0700 (PDT)
In-Reply-To: <sg03hk$euk$1@reader2.panix.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:b88f:bae8:e424:66ae; posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:b88f:bae8:e424:66ae
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <e4d3ab65-d384-422c-bb03-fee99754cca6n@googlegroups.com> <sfuoqd$qq1$2@reader1.panix.com> <79829bbf-15bb-486c-ad04-465181945ee6n@googlegroups.com> <sg03hk$euk$1@reader2.panix.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2d0c83ca-7c71-4cd8-ab7e-1bfc0e0f211fn@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: gah...@u.washington.edu (gah4)
Injection-Date: Tue, 24 Aug 2021 08:16:33 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 19
 by: gah4 - Tue, 24 Aug 2021 08:16 UTC

On Monday, August 23, 2021 at 5:15:50 AM UTC-7, Dan Cross wrote:

(snip, I wrote)
> >So, a program can read/write stdin/stdout without knowing anything
> >about sockets. But otherwise, if it can send/recv on socket 0, it is
> >probably close enough.

> A delve into Unix history is always nice, but I'm afraid this
> is all rather far-afield from network programming for TOPS-20
> at this point. :-)

I didn't get into network programming until some years after using TOPS-20
(and the system was sold).

But some searches seemed to say that the ideas behind BSD and sockets
originated with TOPS-20. I couldn't find enough detail to see which parts
those were, though.

Re: TOPS20 Tcp/Ip API

<sg397l$aq4$1@reader1.panix.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=409&group=alt.sys.pdp10#409

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!panix!.POSTED.spitfire.i.gajendra.net!not-for-mail
From: cro...@spitfire.i.gajendra.net (Dan Cross)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Date: Tue, 24 Aug 2021 17:11:17 -0000 (UTC)
Organization: PANIX Public Access Internet and UNIX, NYC
Message-ID: <sg397l$aq4$1@reader1.panix.com>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <79829bbf-15bb-486c-ad04-465181945ee6n@googlegroups.com> <sg03hk$euk$1@reader2.panix.com> <2d0c83ca-7c71-4cd8-ab7e-1bfc0e0f211fn@googlegroups.com>
Injection-Date: Tue, 24 Aug 2021 17:11:17 -0000 (UTC)
Injection-Info: reader1.panix.com; posting-host="spitfire.i.gajendra.net:166.84.136.80";
logging-data="11076"; mail-complaints-to="abuse@panix.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: cross@spitfire.i.gajendra.net (Dan Cross)
 by: Dan Cross - Tue, 24 Aug 2021 17:11 UTC

In article <2d0c83ca-7c71-4cd8-ab7e-1bfc0e0f211fn@googlegroups.com>,
gah4 <gah4@u.washington.edu> wrote:
>On Monday, August 23, 2021 at 5:15:50 AM UTC-7, Dan Cross wrote:
>> A delve into Unix history is always nice, but I'm afraid this
>> is all rather far-afield from network programming for TOPS-20
>> at this point. :-)
>
>I didn't get into network programming until some years after using TOPS-20
>(and the system was sold).
>
>But some searches seemed to say that the ideas behind BSD and sockets
>originated with TOPS-20. I couldn't find enough detail to see which parts
>those were, though.

Doug Wells addressed this in <1629566924.62551@nowhere.invalid>.
The idea of "sockets" as endpoints for network connections has been
floating around since the earliest ARPANET days, but the Unix
implementation is pretty well independent of that for TOPS-20.

- Dan C.

Re: TOPS20 Tcp/Ip API

<08050e26-8a43-4786-b771-1fac1730978an@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=411&group=alt.sys.pdp10#411

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:a0c:e2d1:: with SMTP id t17mr8208830qvl.56.1630044303654;
Thu, 26 Aug 2021 23:05:03 -0700 (PDT)
X-Received: by 2002:a9d:7d85:: with SMTP id j5mr6515475otn.164.1630044303053;
Thu, 26 Aug 2021 23:05:03 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Thu, 26 Aug 2021 23:05:02 -0700 (PDT)
In-Reply-To: <2d0c83ca-7c71-4cd8-ab7e-1bfc0e0f211fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=37.123.157.199; posting-account=xv9v3AoAAAABQj7td0_AwZp67hjQU7nQ
NNTP-Posting-Host: 37.123.157.199
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
<e4d3ab65-d384-422c-bb03-fee99754cca6n@googlegroups.com> <sfuoqd$qq1$2@reader1.panix.com>
<79829bbf-15bb-486c-ad04-465181945ee6n@googlegroups.com> <sg03hk$euk$1@reader2.panix.com>
<2d0c83ca-7c71-4cd8-ab7e-1bfc0e0f211fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <08050e26-8a43-4786-b771-1fac1730978an@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: par.olov...@gmail.com (PoBe)
Injection-Date: Fri, 27 Aug 2021 06:05:03 +0000
Content-Type: text/plain; charset="UTF-8"
 by: PoBe - Fri, 27 Aug 2021 06:05 UTC

tisdag 24 augusti 2021 kl. 10:16:33 UTC+2 skrev gah4:
> On Monday, August 23, 2021 at 5:15:50 AM UTC-7, Dan Cross wrote:
>
> (snip, I wrote)
> > >So, a program can read/write stdin/stdout without knowing anything
> > >about sockets. But otherwise, if it can send/recv on socket 0, it is
> > >probably close enough.
>
> > A delve into Unix history is always nice, but I'm afraid this
> > is all rather far-afield from network programming for TOPS-20
> > at this point. :-)
> I didn't get into network programming until some years after using TOPS-20
> (and the system was sold).
>
> But some searches seemed to say that the ideas behind BSD and sockets
> originated with TOPS-20. I couldn't find enough detail to see which parts
> those were, though.

I tried KCC-6 with some success. I got a client and server program working and interacting with Linux host. The client side was fairly straight forward and I was able to use the standard socket interface.
The server side was a bit more interesting since the KCC-6 libs did not contain any support for server side i.e. bind and listening. However the info need for the server part was in JSYS_REFERENCE.MEM (5-28)

https://groups.google.com/g/alt.sys.pdp10/c/ZCX-pM3VM3M/m/gZPrDNRXAgAJ

sample code are found in github https://github.com/hoddmimes/tops20-tcp

Re: TOPS20 Tcp/Ip API

<612a90af.11803792@news.dslextreme.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=412&group=alt.sys.pdp10#412

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx47.iad.POSTED!not-for-mail
From: use...@only.tnx (Questor)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Organization: random access
Reply-To: usenet@only.tnx
Message-ID: <612a90af.11803792@news.dslextreme.com>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com> <DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com> <39ced6fa-df0f-4010-9668-cadaa2276809n@googlegroups.com>
X-Newsreader: Forte Free Agent 1.21/32.243
Lines: 83
X-Complaints-To: abuse2@dslextreme.com
NNTP-Posting-Date: Sat, 28 Aug 2021 19:38:29 UTC
Date: Sat, 28 Aug 2021 19:39:04 GMT
X-Received-Bytes: 5811
 by: Questor - Sat, 28 Aug 2021 19:39 UTC

On Sat, 21 Aug 2021 17:11:49 -0700 (PDT), fishtoprecords <pat22043@gmail.com>
wrote:
>There was none that I knew of for TOPS-20. DEC (or LCG) sold special Tops20-AN
>versions. AN was for "Arpanet networking"

Yes. There was a full suite of TOPS-20 monitors for ARPAnet sites: small,
medium, large, and max, which had support for the appropriate hardware and
software. As noted elsewhere, the usual file JSYSes are used with ARPAnet
specific file specifications. The details should be found in the JSYS manual.
(I can't remember its exact name off the top of my head.) I never played with
the ARPAnet stuff myself; that was Kevin P.'s domain as I recall.

>which was for sinners, since all true believers thought DEC's OSI/IOS based
>DECnet was the future. It was impossible to get any information about TOPS20AN
>from my local DEC salesman.

Proprietary networks were still a thing in the years around 1980, and there was
no clear indication that everything would be connected and everyone would
eventually settle on TCP/IP as a kind of universal standard. I can't explain
your salesman's behavior, but if you were already an Arpanet site then you had
an ARPAnet monitor; if you weren't an ARPAnet site then why would you want one?
I can't recall any demand on the part of TOPS-20 customers to create private
networks using TCP/IP instead of DECnet.

>I have no idea why LCG pushed DECnet so hard, since they delivered pretty
>braindead and restricted versions of DECnet until post-Jupiter cancellation at
>which point TOPS-20 was no longer a viable product to market.

There is hardly even a grease stain left where this expired equus has been
flogged, both in this forum and elsewhere, so I'll try to keep this brief.

While the PDP-10 line was profitable, DEC's bread and butter was the PDP-11,
and then the VAX. The VAX was immensely popular and propelled DEC to being the
second largest computer company in the world. So the VAX and VMS was largely
where the focus, the money, and the resources went.

Of course a follow-on to the KL-10 should have been started in the mid-1970s,
but it wasn't. As the VAX took off, follow-on products both large and small
were quickly approved and started. There was plenty of talk in LCG about
different projects -- a bigger PDP-10, a personal, under-the-desk model, etc. --
but it was just talk. Eventually one project was chosen -- and it was called
Jupiter, a much bigger, faster PDP-10 than the KL-10.

TOPS-20 (and TOPS-10) development then fell prey to an internal version of
a problem that some computer companies face: they announce an improved version
of their product, so customers wait for it and hold off purchasing the existing
products, starving the company of revenue. Similarly, any development on
the existing KL-10 and TOPS-20 essentially ceased, with all the effort going
into the expected new machine. The KL and TOPS-20 were already showing their
limitations by the turn of the decade, but the bigger and faster Jupiter was
going to Fix Everything(tm), and Real Soon Now(tm).

One of the places where TOPS-20 was bulging at the seams was DECnet. The DN20
memory was limited to 128K, and it was already stuffed full just for Phase III
DECnet. There was barely any room for new edits in response to SPRs, and
Phase IV DECnet was out of the question. The Jupiter was going to have bigger,
beefier PDP-11s as front-ends, among other wonders. So TOPS-20 was stuck at
Phase III, limited to just 256 notes, while the VAX was coming out with
Phase IV, with Ethernet support and an expansion to thousands of potential
nodes. Of course LCG promoted DECnet -- apart from being DEC's product, it was
the lingua franca for connecting DEC computers. And the new PDP-10 was going to
have Phase IV Any Day Now(tm).

We know what happened next. The Jupiter hardware project ran into problems, and
there were delays, and eventually it was realized that the chosen design just
couldn't meet the necessary performance levels needed to make the machine fast
enough to be a viable PDP-10 follow-on. The decision was made to pull the plug
on both the Jupiter and the entire PDP-10 product line. DEC pledged to provide
several years of maintenance in order to provide a soft(er) landing and an
eventual migration path away from TOPS-20 and TOPS-10. At that point a full
pivot was made and development focused on what modest improvements could be made
to the existing products. There was no help for the DN20, but with addition of
the Massbus-based Network Interconnect (NI) and new versions of TOPS-20 and
TOPS-10 with Ethernet support, those machines could more fully participate in
DECnet Phase IV networks.

So that's why TOPS-20 DECnet was so limited until after the Jupiter was
cancelled The eventual release of upgraded DECnet support wasn't intended to be
a selling point for TOPS-20 machines, but rather a bone thrown to existing
customers to ease their pain.
..

Re: TOPS20 Tcp/Ip API

<dacae644-cbea-44df-b17f-c76698c3770bn@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=413&group=alt.sys.pdp10#413

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:a37:607:: with SMTP id 7mr690912qkg.0.1630374781622;
Mon, 30 Aug 2021 18:53:01 -0700 (PDT)
X-Received: by 2002:a54:4182:: with SMTP id 2mr1519591oiy.66.1630374781337;
Mon, 30 Aug 2021 18:53:01 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Mon, 30 Aug 2021 18:53:01 -0700 (PDT)
In-Reply-To: <612a90af.11803792@news.dslextreme.com>
Injection-Info: google-groups.googlegroups.com; posting-host=74.103.149.104; posting-account=5pAuXwkAAADYxu_vHG_N6x8Gdf1I-9kI
NNTP-Posting-Host: 74.103.149.104
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
<fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com>
<DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com> <39ced6fa-df0f-4010-9668-cadaa2276809n@googlegroups.com>
<612a90af.11803792@news.dslextreme.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dacae644-cbea-44df-b17f-c76698c3770bn@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: pat22...@gmail.com (fishtoprecords)
Injection-Date: Tue, 31 Aug 2021 01:53:01 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 16
 by: fishtoprecords - Tue, 31 Aug 2021 01:53 UTC

On Saturday, August 28, 2021 at 3:38:31 PM UTC-4, Questor wrote:
> So that's why TOPS-20 DECnet was so limited until after the Jupiter was
> cancelled The eventual release of upgraded DECnet support wasn't intended to be
> a selling point for TOPS-20 machines, but rather a bone thrown to existing
> customers to ease their pain.

We had 6 KLs and tried to use DECnet to network them seamlessly. That was a loser.
Compuserv clearly had fairly seamless networking, but they had essentially been using their
own home grown networking for ages on their homegrown TOPS-10 hack. CIS used half-duplex with
local echo, for heavens sake. You can't pretend that is proper TOPS-20 usage.

There was no way to use the DECnet that LCG was willing to sell because it woke up the KL for every character
even when you did a "SET HOST" to another KL/PDP-11 20 feet away.

Since LCG would not even talk to us about TOPS-20-AN, we never got far enough to know if it would have been better.
I have ranted about how incompetent and evil LCG was for decades on this usenet group.

Re: TOPS20 Tcp/Ip API

<612e951a.13553088@news.dslextreme.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=414&group=alt.sys.pdp10#414

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx47.iad.POSTED!not-for-mail
From: use...@only.tnx (Questor)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Organization: random access
Reply-To: usenet@only.tnx
Message-ID: <612e951a.13553088@news.dslextreme.com>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com> <DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com> <39ced6fa-df0f-4010-9668-cadaa2276809n@googlegroups.com> <612a90af.11803792@news.dslextreme.com> <dacae644-cbea-44df-b17f-c76698c3770bn@googlegroups.com>
X-Newsreader: Forte Free Agent 1.21/32.243
Lines: 78
X-Complaints-To: abuse2@dslextreme.com
NNTP-Posting-Date: Tue, 31 Aug 2021 20:55:25 UTC
Date: Tue, 31 Aug 2021 20:56:03 GMT
X-Received-Bytes: 5665
X-Original-Bytes: 5614
 by: Questor - Tue, 31 Aug 2021 20:56 UTC

On Mon, 30 Aug 2021 18:53:01 -0700 (PDT), fishtoprecords <pat22043@gmail.com>
wrote:
>On Saturday, August 28, 2021 at 3:38:31 PM UTC-4, Questor wrote:
>> So that's why TOPS-20 DECnet was so limited until after the Jupiter was
>> cancelled The eventual release of upgraded DECnet support wasn't intended to be
>> a selling point for TOPS-20 machines, but rather a bone thrown to existing
>> customers to ease their pain.
>
>We had 6 KLs and tried to use DECnet to network them seamlessly. That was a loser.
>Compuserv clearly had fairly seamless networking, but they had essentially been using their
>own home grown networking for ages on their homegrown TOPS-10 hack. CIS used half-duplex with
>local echo, for heavens sake. You can't pretend that is proper TOPS-20 usage.

I guess that depends on what you mean by seamless. More specifically, what your
"application load" was. The big three are e-mail, file transfer/manipulation,
and virtual terminals. I'm fuzzy on e-mail, particularly since almost no one
at any of the internal DEC TOPS-20 sites used the vanilla supported version of
e-mail. The two most popular were MS and MM, and beyond that I can't recall
which version, where they came from. or who wrote them.

File transfer was not quite as seamless as with VMS, where all one had to do was
prepend "nodename::" to the file specification in any file command and generally
the right thing happens, perhaps after being prompted for a password. However,
the TOPS-20 Network File Transfer utility (NFT) commands mimicked the EXEC file
commands and it otherwise worked well, although I never concerned myself with
investigating any metrics.

>There was no way to use the DECnet that LCG was willing to sell because it woke
>up the KL for every character even when you did a "SET HOST" to another
>KL/PDP-11 20 feet away.

The ANF-10 network product had many limitations, not the least of which is that
it was for TOPS-10 hosts only. But one thing it did really well was virtual
terminals -- SET HOST. The big difference is that with ANF-10, one did not have
to login to the local host; you were not running an application; it didn't take
up a job slot. All the terminal traffic went to the remote DN87 network front
end. (I can't recall if local terminals were connected to the primary front-end
or the local DN87.)

With DECnet-20, there is no "SET HOST" EXEC command. There is the user level
SETHOST program, which was admittedly a minimal effort. At this remove I'm not
even certain if it was a supported utility or simply DEC-supplied "as is."
In any event, you're running a user mode program with all the overhead that
entails. I suppose a line mode, as opposed to character mode, SETHOST program
could be written, particularly if escape is included as line break character.
That might make using TECO possible, but it still breaks EXEC question mark
help and makes running EMACS impossible, just to name two off the top of my
head.

This is admittedly a deficiency in DECnet-20, and its in large part due to
TOPS-10. There was a lot of mischief one could do on TOPS-10 without a valid
login, and consquently a lot of holes to plug in order thwart it. TOPS-20
greatly limited what one could do without logging in, which certainly included
running a SETHOST application. (VMS essentially eliminated doing anything
without valid login credentials.) In any event, either SETHOST runs, or a SET
HOST command is implemented and an instance of EXEC does the work, but
due to the software architecture of TOPS-20, a user mode program must be run
and a job slot taken. The DN20, DECnet-20's network front end, had no support
for any terminal lines, and there wasn't any room to add the code for them.

>Since LCG would not even talk to us about TOPS-20-AN, we never got far enough to
>know if it would have been better I have ranted about how incompetent and evil
>LCG was for decades on this usenet group.

I was in LCG... I am incompetent and evil? I certainly would not characterize
LCG Engineering as incompetent and evil. However, I was well-insulated from the
usual customer experience, which varied greatly depending on which office
supported you. I can't answer for that, or them. Again, if you were not an
ARPAnet site, why would they talk to you about product meant for a small,
very specific set of customers? I don't have any evidence that there was a plan
or even a thought about TOPS-20 customers setting up private TCP/IP networks.
In retrospect, that may have been a poor decision, but at the time, the ARPAnet
was considered to be a research project and not in any way a commercial
enterprise. TOPS-20AN was not an offering intended to increase company revenue;
DECnet-20 was. In that light, the salesman's response is understandable.

Re: TOPS20 Tcp/Ip API

<0e0f4017-eaab-40c1-bbe4-f8790278d045n@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=415&group=alt.sys.pdp10#415

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:ac8:66d8:: with SMTP id m24mr4967039qtp.39.1630447814832;
Tue, 31 Aug 2021 15:10:14 -0700 (PDT)
X-Received: by 2002:a9d:4e97:: with SMTP id v23mr26454262otk.236.1630447814311;
Tue, 31 Aug 2021 15:10:14 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Tue, 31 Aug 2021 15:10:14 -0700 (PDT)
In-Reply-To: <612e951a.13553088@news.dslextreme.com>
Injection-Info: google-groups.googlegroups.com; posting-host=74.103.149.104; posting-account=5pAuXwkAAADYxu_vHG_N6x8Gdf1I-9kI
NNTP-Posting-Host: 74.103.149.104
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com>
<fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com>
<DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com> <39ced6fa-df0f-4010-9668-cadaa2276809n@googlegroups.com>
<612a90af.11803792@news.dslextreme.com> <dacae644-cbea-44df-b17f-c76698c3770bn@googlegroups.com>
<612e951a.13553088@news.dslextreme.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0e0f4017-eaab-40c1-bbe4-f8790278d045n@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: pat22...@gmail.com (fishtoprecords)
Injection-Date: Tue, 31 Aug 2021 22:10:14 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 23
 by: fishtoprecords - Tue, 31 Aug 2021 22:10 UTC

On Tuesday, August 31, 2021 at 4:55:29 PM UTC-4, Questor wrote:
> On Mon, 30 Aug 2021 18:53:01 -0700 (PDT), fishtoprecords <pat2...@gmail.com>
> >Since LCG would not even talk to us about TOPS-20-AN, we never got far enough to
> >know if it would have been better. I have ranted about how incompetent and evil
> >LCG was for decades on this usenet group.
> I was in LCG... I am incompetent and evil? I certainly would not characterize
> LCG Engineering as incompetent and evil.

I used sloppy wording.
The LCG engineers that I worked with were great.
The LCG marketing and sales folks were snakes.
For example, they kept insisting that a Vax 8600 would easily replace several of our KLs.
They were all 2065 with at least a MW of memory, so no, a 8600 would not replace one of them.
> TOPS-20AN was not an offering intended to increase company revenue;
> DECnet-20 was. In that light, the salesman's response is understandable.

By this time, pretty much nothing would increase DEC's revenue from the big commercial
sites. We may have kept buying an occasional RP07, but nothing else. We got the 5th and 6th KLs because
customers showed up and we had to, but they were locked into System 1022, so neither our customers
or us had much in the way of options.

Maybe a Foonley, or XKL...... nah
Commercial timesharing was barely a dead man walking.

Re: TOPS20 Tcp/Ip API

<mddy28gui4q.fsf@panix5.panix.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=417&group=alt.sys.pdp10#417

 copy link   Newsgroups: alt.sys.pdp10
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!panix!.POSTED.panix5.panix.com!not-for-mail
From: new...@alderson.users.panix.com (Rich Alderson)
Newsgroups: alt.sys.pdp10
Subject: Re: TOPS20 Tcp/Ip API
Date: 01 Sep 2021 16:59:33 -0400
Organization: PANIX Public Access Internet and UNIX, NYC
Lines: 23
Sender: alderson+news@panix5.panix.com
Message-ID: <mddy28gui4q.fsf@panix5.panix.com>
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com> <DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com> <39ced6fa-df0f-4010-9668-cadaa2276809n@googlegroups.com> <612a90af.11803792@news.dslextreme.com> <dacae644-cbea-44df-b17f-c76698c3770bn@googlegroups.com> <612e951a.13553088@news.dslextreme.com>
Injection-Info: reader1.panix.com; posting-host="panix5.panix.com:166.84.1.5";
logging-data="6941"; mail-complaints-to="abuse@panix.com"
X-Newsreader: Gnus v5.7/Emacs 22.3
 by: Rich Alderson - Wed, 1 Sep 2021 20:59 UTC

usenet@only.tnx (Questor) writes:

[ regarding inter-system connectivity via DECnet ]

> I'm fuzzy on e-mail, particularly since almost no one at any of the internal
> DEC TOPS-20 sites used the vanilla supported version of e-mail. The two most
> popular were MS and MM, and beyond that I can't recall which version, where
> they came from. or who wrote them.

MM came first, initially written by (IIRC) McMahon, later taken over by our
late friend Mark Crispin and expanded greatly to allow TCP/IP, DECnet, and
dialup e-mail interchange as well as local delivery; I believe that the TCP/IP
code replaced the NCP/FTP code of earlier versions.

MS was a DEC fork of an early version of MM (I've seen the source, it's
acknowledged right there) which standardized on DECnet and local delivery, and
did not keep any of the ARPANET stuff; the phone-net stuff was much later anyway.

--
Rich Alderson news@alderson.users.panix.com
Audendum est, et veritas investiganda; quam etiamsi non assequamur,
omnino tamen proprius, quam nunc sumus, ad eam perveniemus.
--Galen

Re: TOPS20 Tcp/Ip API

<a43e8474-c2c8-43dc-a705-bc1efbe1cf5cn@googlegroups.com>

 copy mid

https://www.novabbs.com/computers/article-flat.php?id=418&group=alt.sys.pdp10#418

 copy link   Newsgroups: alt.sys.pdp10
X-Received: by 2002:a0c:aa52:: with SMTP id e18mr216951qvb.38.1630540640472; Wed, 01 Sep 2021 16:57:20 -0700 (PDT)
X-Received: by 2002:aca:adc3:: with SMTP id w186mr294307oie.66.1630540640157; Wed, 01 Sep 2021 16:57:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!feeder1.feed.usenet.farm!feed.usenet.farm!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: alt.sys.pdp10
Date: Wed, 1 Sep 2021 16:57:19 -0700 (PDT)
In-Reply-To: <mddy28gui4q.fsf@panix5.panix.com>
Injection-Info: google-groups.googlegroups.com; posting-host=74.103.149.104; posting-account=5pAuXwkAAADYxu_vHG_N6x8Gdf1I-9kI
NNTP-Posting-Host: 74.103.149.104
References: <ced7717c-1a96-4d2e-981c-1fe55abadaf6n@googlegroups.com> <fd4f04dc-4989-4bd1-8a59-7cce5ef07bfdn@googlegroups.com> <sfqufk$ak3$1@reader1.panix.com> <DYWdnXODAP422rz8nZ2dnUU7-R_NnZ2d@supernews.com> <39ced6fa-df0f-4010-9668-cadaa2276809n@googlegroups.com> <612a90af.11803792@news.dslextreme.com> <dacae644-cbea-44df-b17f-c76698c3770bn@googlegroups.com> <612e951a.13553088@news.dslextreme.com> <mddy28gui4q.fsf@panix5.panix.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a43e8474-c2c8-43dc-a705-bc1efbe1cf5cn@googlegroups.com>
Subject: Re: TOPS20 Tcp/Ip API
From: pat22...@gmail.com (fishtoprecords)
Injection-Date: Wed, 01 Sep 2021 23:57:20 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 15
 by: fishtoprecords - Wed, 1 Sep 2021 23:57 UTC

On Wednesday, September 1, 2021 at 4:59:37 PM UTC-4, Rich Alderson wrote:
> MM came first, initially written by (IIRC) McMahon, later taken over by our
> late friend Mark Crispin and expanded greatly to allow TCP/IP, DECnet, and
> dialup e-mail interchange as well as local delivery; I believe that the TCP/IP
> code replaced the NCP/FTP code of earlier versions.
>
> MS was a DEC fork of an early version of MM (I've seen the source, it's
> acknowledged right there) which standardized on DECnet and local delivery, and
> did not keep any of the ARPANET stuff; the phone-net stuff was much later anyway.

We started with DEC's MS and quickly picked up MM. We put in a moderate number of local hacks
specific to our hacked TOPS-20. We also added "receipt" for delivery (meaning that the addressee
read the message)

I remember the address parser that Mark put in. Even supported dial-up UUCP
I think Mark had a lot of input into RFC822 for proper 10/20 address forms.

Pages:12
server_pubkey.txt

rocksolid light 0.9.7
clearnet tor