Operating System - OpenVMS
1753628 Members
5430 Online
108797 Solutions
New Discussion юеВ

Re: Programming dedicated LAT application ports on Itanium

 
Dennis Handly
Acclaimed Contributor

Re: Programming dedicated LAT application ports on Itanium

>Craig: zeroing more memory than you have to can be expensive.

Right.

>I stand by the assertions that memset() would be better

Right, it is more efficient and doesn't have to look at a source.
twhjr
Advisor

Re: Programming dedicated LAT application ports on Itanium

Greetings,

I changed the code to make it allocate a single port per process and changed the read to a QIOW and the interface is working the same as on the Alphas. Still wondering why async mode does not work but it is time to move on...

I am now going to spend some time cleaning up some of the old coding "tricks" and hope I do not break anything in the process. Just a reminder for those who have been reading along, I posted early on that I did step through the code in the debugger and the strncpy did work just fine.

I never liked C, I would rather be herding cats. I like cats, cat starts with C. C programmers think they can be so clever but they very rarely remember that some time in the future someone may have to maintain their mess. Pascal is an elegant language that allows one to easily create memory resident file mapped control structures and unlike C it guards against you shooting yourself in the foot. The latest version of Fortran (90/95 spec) is also very nice with a lot of OO builtin and hopefully the 2kx spec will be embraced by hp.

C is not the end all to be all just because Microsoft said so... You have to learn to pick the right tool for the right job. It is foolhardy to use an adjustable wrench when the proper box end is available.

Have Fun,
twhjr
As one skilled in the art it should be obvious...
Paul Jerrom
Valued Contributor

Re: Programming dedicated LAT application ports on Itanium

Howdy,

I too had a similar problem during my port from Alpha to Itanium. I too got advise from Mr Gillings about how it couldn't have worked before, wasn't supported, was contrary to the Geneva convention and would cause my hair to fall out if it did work.

Turned out I needed to increase the MAXBUF parameter.

have fun.

PJ
Have fun,

Peejay
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If it can't be done with a VT220, who needs it?
Jess Goodman
Esteemed Contributor

Re: Programming dedicated LAT application ports on Itanium

I'm a little late to this conversation but, if anyone is interested, I could package up my LATPORT utility for distribution. Ask here, or send me email to my last name at AccuWeather dot com.

Among many capabilities, it allows you to create, configure, connect, and allocate a LAT port with one command line, or step-by-step in a script. Once a port is connected and allocated, it can be passed off to another program.

Example:
$ LATPORT CREATE /LOG /TYPE=FORWARD -
/SERVICE=postoffice /CONNECT /ALLOCATE -
/LOGICAL=(NAME=mailbox,TABLE=system,mode=EXEC)

%LAT-I-NEWPORT, created port _LTA141:
%LAT-I-NEWLOGNAME, created logical name MAILBOX in table LNM$SYSTEM_TABLE
%LAT-S-CONNECTED, session to Alpha
%CLI-I-ALLOC, _LTA141: allocated

Here is a HELP extract. The full HELP library is attached to this post.

$ LATPORT HELP
LATPORT is a utility for managing LTAn: devices (LAT ports). It has
several commands, qualifiers, and features not available with LATCP.

When a command line is used for running LATPORT, it will execute the
command and immediately return to DCL. When no command line is used
it will prompt the user for a command; execute it; and prompt again.

You can get more specific help by using the command "HELP topic...".

Additional information available:

@ ALLOCATE callable CONNECT CREATE DEALLOCATE DELETE
DISCONNECT EXIT features HELP latcp_syntax REPLACE
SET SHOW SPAWN sticky_names WAIT ZERO

Topic? features

FEATURES

LATPORT has many capabilities and features that LATCP lacks:

o "sticky" default port names
o full support for forward ports
o CONNECT and DISCONNECT commands
o ALLOCATE and DEALLOCATE commands
o REPLACE and CREATE /UNKNOWN commands
o WAIT command
o a SPAWN command that supports most of DCL's SPAWN qualifiers
o error control with the EXIT ON command
o @indirect_command_file support
o a callable interface that can be integrated into applications
I have one, but it's personal.