#Need XPR Prot. from CLI
9 messages in this thread
"non-terminal program that uses the XPR libraries is not possible."
Incorrect! All one should have to do is open the serial port in shared
mode and carry-on by calling the XPR libraries and moving data through
them. One does not need a 'terminal' ready for user-interactivity. "Taking
over" the serial port isn't an issue when the BBS opens the port in
shared-mode and the CLI program is not run as an independant task.
As for the 'proper' way to implement XPR, I don't think it matters.
Christopher,
Take a look at the XPR specification before pontificating. You can't
"call the XPR libraries". You have to write a lot of support code to use
the libraries. What you end up with is a terminal program with no user
interface. The XPR libraries are not standalone.
And if you want THAT, get VLT. 1) It's **FREE** (Developed at govt. expense
at the Stanford Linear Accelerator). 2) It has a "background" mode where it
won't open up any windows or screens. Just start it fron the CLI as '
VLT -b
It will then accept Arexx commands to do the transfers. Since many programs
will work with ARexx, this shouldn't be a problem…
— Brian
P.S. This -b command is only documented for versions 4.824+
If you hadn't posted this idea it was what I would've suggested next, VLT
is known to work and citadel can run a batch file from the cli.
For now, this might be the way to go, but would take a little bit of arexx
and batch file programming, hmmm…
Greg.
Well, there's an example dialer script somewhere out there for VLT that
will even let you select a BBS from a list in a window. Maybe it can be
used as a starting place. Needs RexxARPLibrary though, so don't forget to
have it and RexxSupport.library loaded.
Thanks for the suggestion, but I'm concerned about how much RAM this may
require. My machine is not dedicated solely to the BBS (that's why I run it
on the Amiga).
I don't expect XPR to accept a request to "send this file with Zmodem" and
expect it to take care of the rest, but rather allow an application to send
and recieve data as normal, only with XPR as the go-between taking tare of
the protocol details.
Well, VLT isn't small. It seems to take up some 200K in "Background" mode.
In this mode, it doesnt allocate memory for or open any screens. Right now,
I'm experimenting with sending ARexx commands to it in Background mode. I
think It may be your best bet though. Mostly because if sonething goes
nuts, all you would have to do — from the CLI — is type:
rx "Address VLT ACT VT100" and VLT will open it's main
screen.
Also, in this mode, all of it's requesters, and alert windows will appear
on the workbench screen. So if something does go nuts, you'll see almost
immediately….
Chris,
No…I'm not incorrect. I'm currently working on a terminal
program that uses XPR for it's file transfer capabilities….I know what
I'm talking about.
There is a significant amount of functionality that must be
supplied by the calling program, and it must be supplied in a very specific
manner. For all intent and purposes…the calling program must be a
terminal program…albeit a very limited terminal program.
You can not simply open the serial port in shared mode and then
"move the data thru XPR"…that's not the way XPR works.
Don
Don,
It would be real nice if that were the way it worked! Just open the
libs and pass it the serial info and have it do it's thing — unfortunately
it doesn't work that way.
-sja