HP 3000 Manuals

CREATEPROCESS (changed) [ Introduction to MPE XL for MPE V Programmers Migration Guide ] MPE/iX 5.0 Documentation


Introduction to MPE XL for MPE V Programmers Migration Guide

CREATEPROCESS (changed) 

The CREATEPROCESS intrinsic is affected by the dual programming modes in
MPE XL in two ways.

 *  It can be called from either a CM or an NM program.

 *  The process it creates can be either a CM or an NM process.

The CREATEPROCESS intrinsic is effected by the difference between CM and
NM in word size, stack and heap management.  The CM version of
CREATEPROCESS, has the same item/itemnum options as MPE V/E, although
some have changed because of the management of stacks and libraries.  The
NM version has more options.  Table 7-1, following, summarizes the
changes.

Calling from CM or NM 

The following are the parameters of the CREATEPROCESS intrinsic that have
been effected by word size.

createstatus     When you call CREATEPROCESS from CM, pass a 16-bit
                 signed integer value to createstatus (same as MPE V/E).

                 When you call CREATEPROCESS from NM, pass a 32-bit
                 signed integer value by reference to createstatus.

itemnums         When you call CREATEPROCESS from CM, pass an array of
                 16-bit signed integers by reference to itemnums (same as
                 MPE V/E).

                 When you call CREATEPROCESS from NM, pass an array of
                 32-bit signed integers by reference to itemnums.

items            When you call CREATEPROCESS from CM, pass an array of
                 16-bit signed integers by reference to item (same as MPE
                 V/E).

                 When you call CREATEPROCESS from NM, pass an array of
                 32-bit signed integers by reference to item.  This
                 modification occurs because the array may contain
                 explicit pointer values 32-bits long in NM.

Creating a CM or NM Process 

The formaldesignator parameter specifies the process you want to create.
The following things apply whether you call CREATEPROCESS from an NM
program or a CM program.

Creating an NM Process.  When the formaldesignator parameter specifies a
CM program file, all but two CREATEPROCESS intrinsic parameters and
itemnums/item pairs function as described in the MPE V/E Intrinsics 
Reference Manual (32033-90007).

The two new items let you to specify the maximum allowable size of both
the NM stack (Item# 26) and the NM heap (Item# 27).  All references to
the stack in the MPE V/E manual pertain to the CM stack only.  Refer to
Table 7-1 for a description of both the new items.


NOTE When you are calling the NM version of CREATEPROCESS to create a CM process, you must be certain to pass the values contained in items 2 through 7 in the following manner: Bits (0:16) Set to zero. Bits (16:16) Passes the specified value.
Creating a CM Process. When formaldesignator specifies a NM program file, the itemnums/item pairs listed in Table 7-1 are applicable. In addition, the CM stack is created using MPE V/E maximum default values. Table 7-1. CREATEPROCESS itemnums,item Descriptions -------------------------------------------------------------------------------------------- | | | | Item# | Description of Info Passed in Item | | | | -------------------------------------------------------------------------------------------- | | | | 0 | (Unchanged from MPE V/E.) | | | | -------------------------------------------------------------------------------------------- | | | | 1 | (Unchanged from MPE V/E.) | | | | -------------------------------------------------------------------------------------------- | | | | 2 | (Unchanged from MPE V/E.) | | | | -------------------------------------------------------------------------------------------- | | | | 3 | (Changed.) Refer to the description of changes to the loadflags | | | parameter of the CREATE intrinsic, above. | | | | -------------------------------------------------------------------------------------------- | | | | 4 | (Changed.) This item is ignored due to changes in the implementation | | | of the NM stack. The CM stack is created using MPE V/E maximum | | | default values. | | | | -------------------------------------------------------------------------------------------- | | | | 5 | (Changed.) This item is ignored due to changes in the implementation | | | of the NM stack. The CM stack is created using MPE V/E maximum | | | default values. | | | | -------------------------------------------------------------------------------------------- | | | | 6 | (Changed.) This item is ignored due to changes in the implementation | | | of the NM stack. The CM stack is created using MPE V/E maximum | | | default values. | | | | -------------------------------------------------------------------------------------------- | | | | 7 | (Unchanged from MPE V/E.) | | | | -------------------------------------------------------------------------------------------- | | | | 8 | (Unchanged from MPE V/E.) | | | | -------------------------------------------------------------------------------------------- | | | | 9 | (Unchanged from MPE V/E.) | | | | -------------------------------------------------------------------------------------------- | | | | 10 | (Unchanged from MPE V/E.) | | | | -------------------------------------------------------------------------------------------- | | | | 13-18 | (New.) Reserved for MPE XL. | | | | -------------------------------------------------------------------------------------------- CREATEPROCESS itemnums,item Descriptions (continued) -------------------------------------------------------------------------------------------- | | | | Item# | Description of Info Passed in Item | | | | -------------------------------------------------------------------------------------------- | | | | 19 | (New.) XL= option; the address (type-coerced to an integer) of a | | | character array containing a list of executable library files (XLs) | | | that the NM Loader searches to satisfy unresolved external references | | | found in formaldesignator. The file names (following MPE XL file | | | naming conventions) must be separated by commas. If you specify this | | | item, the LIBSEARCH option available in ITEM #3 is ignored. | | | | -------------------------------------------------------------------------------------------- | | | | 20-22 | (New.) Reserved for MPE XL. | | | | -------------------------------------------------------------------------------------------- | | | | 23 | (New.) The address (type-coerced to an integer) of a character array | | | containing the name of a procedure to which unsatisfied references | | | are linked. (The array element following the name must contain an | | | ASCII carriage return character or a blank.) | | | | -------------------------------------------------------------------------------------------- | | | | 24 | (New.) The length of the LIBLIST array referenced by item number 19. | | | | -------------------------------------------------------------------------------------------- | | | | 25 | (New.) Reserved for MPE XL. | | | | -------------------------------------------------------------------------------------------- | | | | 26 | (New.) The address (type-coerced to an integer) of a 32-bit signed | | | integer variable containing the maximum size, in bytes, of the NM | | | stack. | | | | -------------------------------------------------------------------------------------------- | | | | 27 | (New.) The address (type-coerced to an integer) of a 32-bit signed | | | integer variable containing the maximum size, in bytes, of the NM | | | heap. | | | | --------------------------------------------------------------------------------------------


MPE/iX 5.0 Documentation