Hidden Value

HiddenValue details commands and programs in MPE that can improve productivity on HP 3000 systems. Get a free NewsWire "HP 3000 Always Online" cap -- submit an MPE tip to Hidden Value. E-mail your tips to rseybold@zilker.net, or fax them to 512.331.3807.

I'd like to "swap" quickly from one account to another in MPE/iX. How can I do this and still maintain all the security I've got in my original account?

Jeff Vance replies:

If you are changing to a different account only to make it easier to type filenames and not to change security, logon UDCs or user ID, then you might try using the CHDIR command

:CHDIR /SYS/PUB

This changes your current working directory from where it was (probably your logon group.logon acct) to PUB.SYS. Note: POSIX syntax is necessary to CHDIR to an MPE group. It's a lot faster than running a second level CI and should be available via QEdit, since it is supported by the COMMAND/HPCICOMMAND intrinsics.

I need to write a socket program under the existing TCP/IP protocol on an HP 3000. How do I get started with this? I want to use this to send messages back and forth from a PC to a HP 3000 application.

Steve Dirickson replies:

HP 3000 NetIPC sockets talk to PC sockets great. So do Berkeley sockets. NetIPC sockets are somewhat more flexible, whereas the BSD-style sockets are faster to get up if you're porting existing BSD-type code.

The HP manuals which deal with this are "NetIPC 300/XL Programmer's Reference Manual", part number 36920-61005, and "Berkeley Sockets/iX Reference Manual", part number 32650-90372. Most BSD-oriented socket books/manuals would be applicable for BSD-type sockets.

We're dealing with an auditor who wants to know the written definition for all of our Account, Group and User Capabilities. I know it must be written down somewhere, but I get too many hits on LaserROM to get to the needed manual. Where can I find information for the auditor?

MPE's Help system (help newacct parms or help newuser parms) gives you the list with translations. In the manual "Performing System Manager Tasks" (part number 32650-90004), Table 7-1 gives a definition of the capabilities.

How can I restore files from a tape which was saved into one group (mdatabas) and drop them into another group on the disk (mdatab01)? We are trying to restore our last month-end backup into a test database.

Jerry Fochtman replies:

Log in to MANAGER.SYS (or another user ID with SM capability> and use:

:FILE tape;DEV=(your tape drive)
:RESTORE *TAPE; MDATABAS..; ACCOUNT=; GROUP=; CREATOR=; OLDDATE;KEEP

Only a user with SM capability can restore files from one account into a different account using the 'ACCOUNT=' directive. If you are restoring into the same account but a different group you can eliminate the ';ACCOUNT=' option. However, the user ID you are logged into must be in the specific account and have AM capability.

The 'CREATOR=' directive sets the creator of the files to an existing user ID in the account. In the case of IMAGE databases, this is considered the database creator. If you are restoring into the same account but simply a different group, you probably won't need this option, as the creator ID should already exist in the account. If indeed you are changing accounts, it is best to include this directive in the restore.

The 'KEEP' option says that if files by this name already exist in the target . do not overlay them with the copies from tape. So if you indeed want to replace these files in this area, you'll need to eliminate using the ";KEEP" option. (I tend to always use it as a safety measure. I've made mistakes and overlaid the wrong files in the past, losing work and having to re-do it.) For reference, you might also want to review the on-line help that is available for the restore command by typing HELP RESTORE at the colon prompt.

I need to change my HP 3000's host IP address. Don't I have to reboot the system when doing this?

In order to change the HP 3000 host IP address, it is not necessary to reboot. Simply make the required changes in NMMGR, validate NETEXPORT, then stop and re-start the network with the appropriate NETCONTROL, NSCONTROL commands.

This might sound like a dumb question, but how do I go about setting my path to hpbin.sys?

You can add HPBIN.SYS to your HPPATH at the end with the command:
SETVAR HPPATH HPPATH+",HPBIN.SYS"
or at the front with the command:
SETVAR HPPATH "HPBIN.SYS,"+HPPATH

The above is more readable, but you can also do:
setvar hppath "!hppath,HPBIN.SYS" /* appended */
setvar hppath "HPBIN.SYS,!hppath" /* prepended */

If you are on release 5.5 you can use POSIX syntax in HPPATH:
setvar HPPATH HPPATH+"/SYS/HPBIN"

Using POSIX syntax in HPPATH causes POSIX name rules to apply to the name of the file you are trying to execute. One way to learn more about POSIX on MPE is to run the POSIX Computer Based Training:
:posixcbt.lsn.sys

While I was looking at the System Improvement Ballot, I noticed it called for "programmatic capture of a job number" along with other STREAM features. Isn't there already an HPLASTJOB variable that tells you what job was created?

The HPLASTJOB CI variable is available in Release 5.5. There is also a HPLASTSPID CI variable that returns the spoolid for the last job that you streamed (or for any job that appears in HPLASTJOB), and a HPSPOOLID variable that returns the spoolid for your own job.

On MPE/iX 5.0, using patch MPEHXT8 includes the CI enhancements. Four new CI variables have been created: HPLASTJOB contains the job ID of the job most recently :STREAMed; HPSTREAMEDBY shows the user.account of the user who :STREAMed or :STARTSESSed the job/session; HPOSVERSION contains the operating system version ID and HPRELVERSION contains the release version ID.


Copyright 1996, The 3000 NewsWire. All rights reserved.