info-vax@ucbvax.ARPA (10/19/84)
From: Aram Boornazian <ABOORNAZIAN@BBNV1> From: MAILER 19-OCT-1984 16:06 To: ABOORNAZIAN Subj: [Netmail From: ABOORNAZIAN@BBNV1] Return-Path: <> Received: from BBNG.ARPA by BBNV1.ARPA; 19 Oct 84 16:06:22 EST Received: from unknown host (for SRI-KL) by BBNG.ARPA; Fri 19 Oct 84 16:06:08-EDT Received: from BBNV1.ARPA by SRI-KL.ARPA with TCP; Fri 19 Oct 84 13:00:33-PDT Date: 19 Oct 1984 1555-EST From: Aram Boornazian <ABOORNAZIAN at BBNV1> To: <TAPPAN@BBN> Reply-To: <ABOORNAZIAN@BBNV1> From: MAILER 18-OCT-1984 03:42 To: ABOORNAZIAN Subj: [Netmail From: KASHTAN@SRI-IU] Re: IP/TCP without EUNICE Return-Path: <> Received: from BBNG.ARPA by BBNV1.ARPA; 18 Oct 84 03:42:27 EST Received: from unknown host (for SRI-KL) by BBNG.ARPA; Thu 18 Oct 84 03:42:27-EDT Received: from SRI-IU.ARPA by SRI-KL.ARPA with TCP; Thu 18 Oct 84 00:35:48-PDT Date: Wed 17 Oct 84 23:53:31-PST From: David L. Kashtan <KASHTAN@SRI-IU> Subject: Re: IP/TCP without EUNICE To: MARANTZ@RUTGERS.ARPA Cc: info-vax@SRI-KL.ARPA In-Reply-To: Message from "Roy <MARANTZ@RUTGERS.ARPA>" of 17 Oct 84 17:5info-vax As the person who originaly wrote the network code, I have been asked by several people who do not have EUNICE but would like to access the network from VMS how to do so. The following is a very simple MACRO program that does just that -- it should provide basically what you need to write programs to connect to servers on other machines. To create your own server, look in the file ETC:SERVERS.DAT and see how a server like SMTP is described. Just add a new entry for your server (you should only have to change the service name, the TCP port number and the program to run). When the master server process starts your program as a server the network connection will be on SYS$INPUT:. You just have to $ASSIGN it and then do READVBLK/WRITEVBLK $QIOs to read/write the network. Joe Sventek at LBL (j@lbl-csam) has written a much more detailed document describing how to access the network from FORTRAN. Hope this helps you, David P.S. I have got, written in "C" (and a bit of MACRO), a VMS printer SYMBIONT that does network spooling and a fake device driver to use as the network line printer. What this does, is make it look like there is a local line printer -- but then all the data queued to the printer (or created as a SPOOL file by using this fake printer device) is spooled over the net to a particular printer server. There are probably still a few bugs left in it, but it should make a good start towards what you want. ----- .LIBRARY /SYS$LIBRARY:STARLET/ $IODEF ; ; Define network I/O function codes ; IO$_SOCKET = IO$_ACCESS ! <0 @ IO$S_FCODE> ;Create a socket IO$_CONNECT = IO$_ACCESS ! <4 @ IO$S_FCODE> ;Connect to foreign host ; ; Define network access constants ; AF_INET = 2 ;INTERNET socket (stream=TCP) SOCK_STREAM = 1 ;Stream socket (TCP) ; ; Test program to connect to given port on given host ; dev: .ascid /INET0:/ chan: .blkw 1 iosb: .blkw 4 buf: .blkb 100 ; Socket structure -- used to describe the foreign host/port we ; will connect to socket: .word AF_INET ;Protocol (TCP) port: .word 23 ;Port # (e.g. telnet = 23) address:.byte 10,5,0,2 ;Host address (sri-iu = 10.5.0.2) .long 0,0 ;unused .entry test,^m<> ; ; Assign a new internet device ; $assign_s devnam=dev,chan=chan blbc r0,exit ; ; Create a TCP socket ; $qiow_s func = #IO$_SOCKET, iosb=iosb, chan = chan,- p1 = @#AF_INET, - ;silly qio macro p2=#SOCK_STREAM ; expects p1 address blbc r0,exit blbc iosb,exit ; ; Flip the port bytes to network order ; movb port,r0 movb port+1,port movb r0,port+1 ; ; Connect to remote host ; $qiow_s func = #IO$_CONNECT, chan = chan, iosb=iosb,- p1 = socket, p2 = #16 ; p2 = size of socket blbc r0,exit blbc iosb,exit ; ; Now you can IO$_READVBLK/IO$_WRITEVBLK to read/write to the ; network. ; $qiow_s func = #IO$_READVBLK, chan = chan, iosb=iosb,- p1 = buf, p2=#100 blbc r0,exit blbc iosb,exit ; ; When done, deassign the channel and you are all finished ; $dassgn_s chan = chan exit: ret .end test ------- ------ ------
info-vax@ucbvax.ARPA (10/23/84)
From: decvax!seismo!uwvax!uwmacc!dorl@BERKELEY (Michael Dorl) What is vaitalink? Who makes it? Phone # o address please.