HP OpenVMS Systems

Ask the Wizard

HP OpenVMS Systems

OpenVMS information

» What's new on our site
» Upcoming events
» Configuration and buying assistance
» Send us your comments

HP OpenVMS systems

» OpenVMS software
» Supported Servers
» OpenVMS virtualization
» OpenVMS solutions and partners
» OpenVMS success stories
» OpenVMS service and support
» OpenVMS resources and information
» OpenVMS documentation
» Education and training

Quick Links

» Non-javascript page
» Ask the Wizard

Test Drive OpenVMS

» OpenVMS I64 test drive
» Java test drive

Other information resources available to you include:

» OpenVMS freeware
» ECO kits, software and hardware support, prior version support
» Alpha SRM, ARC, and AlphaBIOS firmware updates
» ENCOMPASS - HP user group
» OpenVMS software downloads, OpenVMS freeware CD-ROM
» OpenVMS firmware locations
» DECconnect passive adaptor charts
» Cables reference guide
» MicroVAX console commands
» OpenVMS student research

Select a topic below to see Questions Frequently Asked by partners

» Using the online documentation library(installing BNU from the asap SDK)
» Global sections(how to create and use.)
» xx$CREATE_BUFOBJ system service(usage)
» Ethernet address(methods of determination)
» Shareable images(cookbook approach to creating one)
» Sharing data/code at absolute addresses(a guide with examples)
» Determining the Alpha microprocessor
» Using GETSYI to get hardware status

Evolving business value

» Business Systems Evolution
» AlphaServer systems transition planning
» Alpha RetainTrust program

Related links

» HP Integrity servers
» HP Alpha systems
» HP storage
» HP software
» HP products and services
» HP solutions
» HP support
disaster proof
HP Integrity server animation
HP Integrity server animation
Content starts here

Ask the Wizard Questions

C Language: fork and DCLtables

The Question is:

	I am porting or integrating C code to be
run on Digitall UNIX and AXP OpenVMS 6.2.

	What I want is to continue using the following
piece of C code on the OpenMVS side.

if ((waitpid = vfor()) == 0)
   execv("FORTRAN/par1/par2", argv)

The important thing in here is with vfork I am loosing
my command table where the FORTRAN verb is located.
How do I created my own command table that I can pass
using vfork and execv.

This is very important since is a major effort to
port software accross Digital platforms.

Thank you very much for your info.

The Answer is:

      Use LIB$SPAWN instead of execv. If necessary, revector the execv
    call with a macro and jacket routine. LIB$SPAWN, by default, will use
    the command table of the parent process. It also has an argument which
    will allow you to specify a particular command table for the subprocess
    to use.