Sujet : Re: Upcoming time boundary events
De : seaohveh (at) *nospam* hoffmanlabs.invalid (Stephen Hoffman)
Groupes : comp.os.vmsDate : 14. Jun 2025, 18:00:29
Autres entêtes
Organisation : HoffmanLabs LLC
Message-ID : <102k9rd$abd3$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
User-Agent : Unison/2.2
On 2025-06-01 23:27:48 +0000, Arne Vajhøj said:
On 5/31/2025 3:47 PM, Arne Vajhøj wrote:
The context was:
#### and
#### transparent task to task communication ?
### and task to task->INETD.
So I assume that we are talking about how to rewrite
something like:
$ open/read f 0::"task=something"
$ read f line
$ close f
$ exit
Or to provide a complete example:
$ typ add.com
$ open/read/write f sys$net
$ read f num1
$ num1 = f$integer(num1)
$ read f num2
$ num2 = f$integer(num2)
$ numres = num1 + num2
$ numres = f$string(numres)
$ write f numres
$ close f
$ exit
$ typ tst.com
$ open/read/write f 0"myusername mypassword"::"task=add.com"
$ write f "123"
$ write f "456"
$ read f res
$ close f
$ write sys$output res
$ exit
$ @tst
579
Arne
From the OpenVMS Freeware...
$! XQTYPE.COM
$!
$ Set NoOn
$ Set NoVerif
$ vers = "0000|XQTYPE"
$ Goto 'F$Mode()'
$!
$! ©1989 Digital Equipment Corporation
$! Written: S Hoffman, 21-Jan-1989
$!
$! Uses DCL DECnet task-to-task to check the device type of the XQA0:
$! controller on the remote system. Can return <unknown>, <none>,
$! <DELQA> or <DEQNA>. Requires VMS V5.0 or better as the procedure
$! uses block-structured IF DCL syntax.
$!
$! Calling:
$! @XQTYPE node
$!
$! Procedure must be named XQTYPE.COM and must reside in the default
$! login directory on both the local and the remote nodes. Note that
$! the remote login may occur either in the directory specified by a
$! proxy, if one exists, or in the DECNET directory. If you're not
$! sure the default directory can be found by entering the command
$! "DIRECTORY node::". Requires access to the DECNET TASK object on
$! the remote end; either by the default DECNET username/password or
$! via a proxy.
$!
$INTERACTIVE:
$DO_P1:
$ p1 = F$Edit(p1,"COLLAPSE,UPCASE") - "::"
$ If F$Leng(p1) .eq. 0
$ Then
$ msg = "Error reading input"
$ Read/Prompt="Node? "/Error=DONE Sys$Command p1
$ Goto DO_P1
$ EndIf
$!
$ msg = "Error creating network connection"
$ Open/Read/Write/Error=DONE net 'p1'::"task=XQTYPE"
$ Read net remvers
$ Write net vers
$ Read net XQType
$ Close net
$ Write Sys$Output "XQA0: Device type on node ''p1':: is ''XQType'"
$ msg = ""
$ Goto DONE
$
$NETWORK:
$! remove the colons to work around a FT bug in DECwindows
$ Show Process/All
$ msg = "Error receiving network connection"
$ Open/Read/Write/Error=DONE net Sys$Net
$ Write net vers
$ Read net remvers
$ If F$GetDVI("XQA0:","EXISTS")
$ Then
$ DEVType = F$GetDVI("XQA0:","DEVTYPE")
$ XQType = "<unknown>"
$ If DEVType .eq. 33 Then XQType = "DELQA"
$ If DEVType .eq. 22 Then XQType = "DEQNA"
$ Else
$ XQType = "<none>"
$ EndIf
$ Write net XQType
$ Close net
$
$BATCH:
$OTHER:
$ msg = "Unsupported F$MODE()"
$
$DONE:
$ If F$Len(msg) .ne. 0 Then Write Sys$Output msg
$ Stop
$ Exit
-- Pure Personal Opinion | HoffmanLabs LLC