HPlogo HP 3000 Computer Systems: MPE/iX Architected Interface Facility:
Operating System Reference Manual
> Chapter 3 Architected Interface Descriptions

3.43 AIFPROCGET/PUT Items

MPE documents

Complete PDF

 

Table of Contents

Index

 

⇓ Page Bottom

Item Summary
Item Descriptions

⇑ Page Top

 

3.42 AIFPROCPUT

3.44 AIFREPLYGET

The following two tables provide summary and detailed descriptions of the items associated with process information.

Item Summary

The following table summarizes the item numbers associated with process information. For more detailed information about these item numbers, refer to the table of process information item descriptions.

Table 3-26 Process Information Item Summary

Item Type Description Put Ver Min Max Error#
2001 Longint_type PID N Y
2002 I32PINNY
2003 Longint_typeParent PIDNY
2004 I32Parent PINNY
2005 Longint_typeSibling PIDNY
2006 I32Sibling PINNY
2007 Longint_typeChild PIDNY
2008 I32Child PINNY
2009 Longint_typeJSmain PIDNY
2010 I32JSmain PINNY
2011 Longint_typeLast child PIDNY
2012 I32Last child PINNY
2013 Longint_typeCreator PIDNY
2014 I32Creator PINNY
2015 I32Job/session numberNY
2016 I32Scheduling stateNY
2017 I32Scheduling queueYY04-2008
2018 BDegradable priority?YY
2019 I32PriorityYY032767-2009
2020 U32Reasons for boostNY
2021 I32Post boost priorityNY
2022 I32Process stateNY
2023 Longint_typeWaiting time (ticks)NY
2024 Longint_typeWaiting time (msecs)NY
2025 I32Waiting reasonNY
2026 I32NM error queue headYY016-2007
2027 I32NM error queue tailYY016-2007
2028 BLost NM error entries?YY
2029 I32Number of NM errorsYY016-2007
2030 I32AList of NM errorsYN
2031 I32I/O countNY
2032 I32CM I/O countNY
2033 U32Process typeNY
2034 Filename_typeProgram nameNY
2035 I32Program file numberNY
2036 A64Entry addressNY
2037 BCM mode initially?NY
2038 BInfo string passed?NY
2039 CA256Info stringNY
2040 I32ParmNY
2041 I32SR5 space IDNY
2042 A64XRT area baseNY
2043 A64XRT area limitNY
2044 A64CM area baseNY
2045 A64CM area limitNY
2046 A64NM stack baseNY
2047 A64NM stack limitNY
2048 A64Heap area baseNY
2049 A64Heap area limitNY
2050 A64PCBX addressNY
2051 BSplit stack mode?NY
2052 I32DB DST numberNY
2053 I32CM stack DST numberNY
2054 A64DB pointerNY
2055 A64DL pointerNY
2056 I32Initial DLNY
2057 I32Initial QNY
2058 I32Number of XDSNY
2059 Dstsrec_typeList of XDSNN
2060 I32LSTT DST numberNY
2061 A64LSTT addressNY
2062 I32Number of open filesNY
2063 I32rec_typeOpen file numbersNN
2064 Fnamerec_typeOpen file namesNN
2065 Ufidrec_typeOpen file UFIDsNN
2066 I64rec_typeList of child PIDsNN
2067 A64PCB pointerNY
2068 I32Maximum allowed short mapped spaceNY
2069 I32Used short-mapped spaceNY
2070 I32General resource capabilitiesYY
2071 I32System code depthNY
2072 I32Critical code depthNY
2073 I32Number of CM errorsYY06-2006
2074 I32AList of CM errorsYN-3276832767-2005
2075 I32Last FOPEN errorYY032767-2007
2076 I32Last KOPEN errorYY0255-2007
2077 BCM aritraps enabled?NY
2078 I32CM aritrap handler plabelNY
2079 I32NM aritrap maskNY
2080 A64NM aritrap handler addressNY
2081 I32CM libtrap handler plabelNY
2082 A64NM libtrap handler addressNY
2083 I32CM systrap handler plabelNY
2084 I32Privileged level of NM systrapNY
2085 A64NM systrap handler addressNY
2086 I32UNSAT handler addressNY
2087 CA32UNSAT handler nameNY
2088 BDump armed?YY
2089 CA256Debug commandsYY
2090 BDebug armed?YY
2091 Longint_typeCPU time (ticks)NY
2092 Longint_typeCPU time (msecs)NY
2093 BSIR holder?NY
2094 I32 JS Key N Y
2095 I32User and file access capabilitiesYY
2096 Longint_typeTime process on Ready QueueNY
2105 @64NM stack maximum SPNY
2106 BExecution ModeNY
2107 I32CM MaxdataNY
2108 I32CM SNY
2109 I32JDT DSTNY
2110 CA16Job nameYY
2111 CA16User nameNY
2112 CA16Group nameNY
2113 CA16Account nameNY
2114 I32Maximum account job priorityNY
2115 I32Account securityYY
2116 I32Group securityYY
2117 CA16Home groupNY
2118 I32Account local attributesYY
2119 I32User capabilitiesYY
2120 I32General resource capabilitiesYY
2121 BA96Allow maskYY
2122 @64Pathnames of open filesNN
2123 RECAPath Identifiers of open filesNY
2125 BFork ProcessNY
2126 I32UIDYY
2127 I32EUIDYY
2128 I32GIDYY
2129 I32EGIDYY
2130 U32CMASKYY
2131 RECProgram pathnameNY
2132 BBreak Request DoneNY
2133 I32Break Request CancelNY
2134 I32Break Request PendingNY
2135 RECList of sibling PIDsNY
2136 RECList of parent PIDsNY
2142 BInteractive?YY
2143 BEnvironment NilNY
2144 CA256Workgroup nameYY
2145 BArtificial workgroup memberNY
2146 BReturn natural workgroupYN
2147 I32Execution stateNY
2148 I32Fixed priorityYN032767

Item Descriptions

The following table provides detailed descriptions of item numbers and corresponding items associated with process information.

Table 3-27 Process Information Item Descriptions

Returns true if the specified process is an artificial member of its workgroup.
Item Number Item Name (Data Type) Put; Verify; Description
2001 PID (REC) Put: No; Verify: Yes; Release 3.0

Returns the PID of the process.

Record type: longint_type (Refer to appendix B.)
2002 PIN (I32) Put: No; Verify: Yes; Release 3.0

Returns the PIN of the process.
2003 Parent PID (REC) Put: No; Verify: Yes; Release 3.0

Returns the PID of the parent process.

Record type: longint_type (Refer to appendix B.)
2004 Parent PIN (I32) Put: No; Verify: Yes; Release 3.0

Returns the PIN of the parent process.
2005 Sibling PID (REC) Put: No; Verify: Yes; Release 3.0

Returns the PID of the sibling process (the next sibling in chronological order). All the children of a process are linked together in one direction. The head of the list is always at parent.child. A value of 0 indicates the end of the sibling list.

Record type: longint_type (Refer to appendix B.)
2006 Sibling PIN (I32) Put: No; Verify: Yes; Release 3.0

Returns the PIN of the sibling process (the next sibling in chronological order). All the children of a process are linked together in one direction. The head of the list is always at parent.child. A value of 0 indicates the end of the sibling list.
2007 Child PID (REC) Put: No; Verify: Yes; Release 3.0

Returns the PID of the first child process created by the specified process. A PID of 0 indicates that no child process exists.

Record type: longint_type (Refer to appendix B.)
2008 Child PIN (I32) Put: No; Verify: Yes; Release 3.0

Returns the PIN of the first child process created by the specified process. A PIN of 0 indicates that no child process exists.
2009 JSmain PID (REC) Put: No; Verify: Yes; Release 3.0

Returns the PID of the JSmain process of the tree to which this process belongs. For system processes, a 0 is returned. For Jsmains in use, its own PID is the also JSmain PID.

Record type: longint_type (Refer to appendix B.)
2010 JSmain PIN (I32) Put: No; Verify: Yes; Release 3.0

Returns the PIN of the JSmain process of the tree to which this process belongs. For processes of type system, detach, and task, a 0 is returned.
2011 PID of the last child process (REC) Put: No; Verify: Yes; Release 3.0

Returns the PID of the last child created by this process. Because the last child created may no longer exist, the PID should be used carefully. A 0 is returned if no child process was ever created.

Record type: longint_type (Refer to appendix B.)
2012 PIN of the last child process (I32) Put: No; Verify: Yes; Release 3.0

Returns the PIN of the last child created by this process. Because the last child created may no longer exist, the PIN should be used carefully. A 0 is returned if no child process was ever created.
2013 PID of creator (REC) Put: No; Verify: Yes; Release 3.0

Returns the PID of the creator process, usually the parent process. However, some system processes are adopted to another parent after creation. These processes have a different creator.

Record type: longint_type (Refer to appendix B.)
2014 PIN of creator (I32) Put: No; Verify: Yes; Release 3.0

Returns the PIN of the creator process, usually the parent process. However, some system processes are adopted to another parent after creation. These processes have a different creator.
2015 Job/session number (I32) Put: No; Verify: Yes; Release 3.0

Returns the job/session number of the job/session domain to which the process belongs. This number is valid for processes of the type user and son. For all other processes, a 0 is returned. It also returns a 0 for some user processes like VTSERVER and NFT. A negative number indicates a job; a positive number indicates a session. The job/session number for this job or session in the following format:
    Bits (0:2) Job or session? ( 1 = Session, 2 = Job )
    Bits (2:14) Number
    Bits (16:16) Extension
2016 Scheduling state (I32) Put: No; Verify: Yes; Release 3.0

Returns the state of the process, as viewed by the dispatcher. It is the first item that should be interrogated to ascertain a process's state. Values and their meanings are as follows:
    0 Executing (only for Calling Process)
    1 Ready
    2 Short wait
    3 Long wait
    4 Null
Processes in the ready queue are linked together in the order of priority. A short wait is basically a wait for disk I/O, and the dispatcher expects the process to be ready in a short while. See the item 2025 "Reason for waiting" for further information. The null state is seen only for processes that are dead or in the process of dying.
2017 Scheduling queue (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the scheduling queue that this process belongs to. Values and their meaning are as follows:
    0 AS Queue
    1 BS Queue
    2 CS Queue
    3 DS Queue
    4 ES Queue

Modifying this information causes the process to be placed in the specified queue, with the priority being the base of the new queue.
2018 Degradable priority? (B) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies whether the process undergoes priority decay. True indicates that the process will undergo the normal priority decay from base to limit to base of the scheduled class it is in (CS, DS, ES), while it is in a circular queue. False causes the priority to remain fixed at the current priority. Classes are obtaining through AIFSCGET.

This item makes sense only for processes in the circular classes (CS, DS, ES) since the linear queue processes do not undergo priority decay. Also, a process that has gone through decayable boosting is always subject to priority drop. This also means that it contributes towards the system CS-SAQ.

Scheduling classes can be obtained through AIFSCGET.
2019 Priority (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the priority of the process. This is an MPE/iX priority. It is very transient for user processes. For processes whose priority is not fixed, this value should be interpreted as the priority at which the process was last dispatched. For nonconstant priority processes, it is not used in determining the priority at which it will be dispatched next.

A valid MPE/iX priority is in the range 0..32767. The new priority should be in the range of priorities specified by the base and the limit of the current scheduling class of the process. This priority can be mapped to MPE V by the following formula:

 (All formula values are decimal)

 MPEVPri = (32767 - MPEXLPri) DIV 128

 ex.  B149  = (32767 - 13695) DIV 128
  
2020 Reasons for boost (U32) Put: No; Verify: Yes; Release 3.0

Returns the reasons for the priority boost. The bits and their meanings are as follows:
    Bit (0:1) The process is experiencing a non-decayable boost because the process owns a priority semaphore or resource for which there is a contention.
    Bit (1:1) The process is experiencing a non-decayable boost because the process owns a SIR for which there is a contention.
    Bit (2:1) The process is experiencing a non-decayable boost because the process has a long-running system transaction.
    Bit (3:1) The process is experiencing a non-decayable boost to ensure prompt handling of a system or subsystem break event.
    Bit (4:1) The process is experiencing a decayable boost because the process owns a priority semaphore or resource for which there is contention.
    Bit (5:1) The process is experiencing a non-decayable boost because the process is currently deemed unpreemptable and has blocked.
    Bit (6:1) The process is experiencing a non-decayable boost because the process is hosting a IPC server for which there is contention.
    Bit (7:1) The process is experiencing a decayable boost because the process has a long-running user transaction.
    Bit (8:1) The process is experiencing a non-decayable boost because the process owns a priority semaphore port for which there is contention.
    Bit (9:1) The process, a serial printer server, is experiencing a decayable boost to force priority oscillation.
If no bit is turned on, the process priority has not been boosted.
2021 Post boost priority (I32) Put: No; Verify: Yes; Release 3.0

Returns the post boost priority of the process. This is an MPE/iX priority with a range of 0..32767. This is the priority that will be in effect after the process has unboosted from a new priority to which it was boosted for some purpose. The process will be reassigned this priority as soon as possible. A 0 is returned if the process is not currently boosted.
2022 Process state (I32) Put: No; Verify: Yes; Release 3.0

Returns the state of the process from the viewpoint of process management. In general, it should be alive for most processes. The other states are generally very transient. The data returned is valid mainly for the alive case. Values and their meanings are as follows:
    0 Unknown
    1 Dying
    2 Dead
    3 Alive
    4 Initiate
    5 Unborn
2023 Time in ticks, when it began waiting (REC) Put: No; Verify: Yes; Release 3.0

Returns the time, in ticks, since 1970 when the process entered the wait state. This field is only updated when the Measurement Interface is turned on. This time is processor dependent. To obtain processor-independent time, use the item 2024 for time in milliseconds. (This item provides faster access to time than item 2024.)

Record type: longint_type (Refer to appendix B.)
2024 Time in milliseconds, when it began waiting (REC) Put: No; Verify: Yes; Release 3.0

Returns the time, in milliseconds, since 1970 when the process entered the wait state. This field is only updated when the Measurement Interface is turned on. This time is processor independent.

Record type: longint_type (Refer to appendix B.)
2025 Reason for waiting (I32) Put: No; Verify: Yes; Release 3.0

Returns reasons that a process is not currently executing.
    0 nm code page fault
    1 nm stack page fault
    2 nm transient page fault
    3 file page fault
    4 cm code page fault
    5 cm stack page fault
    6 cm transient page fault
{The page fault reasons 0..6 are returned when the Measurement Interface is turned on. Otherwise, disc io wait (9) will be returned.}
    7 terminal read wait
    8 terminal write wait
    9 disc io wait
    10 other io wait
    11 ipc trans complete
    12 sir wait
    13 rin wait
    14 memory manager prefetch
    15 quantum expiration
    16 timer wait
    17 parent wait
    18 control block wait
    19 child wait
    20 data comm wait
    21 rit wait
    22 disp work
    23 port wait
{ the following are subevents of port wait }
    24 mail wait
    25 junk wait
    26 message wait
    27 impede
    28 break wait
    29 wait queue
    30 memory management wait
    31 port blocked make present
    32 file blocked
    33 file unblocked
    34 storage management
    35 user to debug message
    36 io configuration wait
    37 pfp reply wait
    38 db monitor wait
    39 fill disc wait
    40 hlio wait
    41 file system terminal io wait
    42 memory manager post wait
    43 signal timer wait
    44 preemption
    45 disc io preemption
    46 priority preemption
    47 sql lock wait
    48 sql latch level 1 wait
    49 sql latch level 2 wait
    50 sql latch level 3 wait
    51 sql latch level 4 wait
    52 sql latch level 5 wait
    53 sql latch level 6 wait
    54 sql latch level 7 wait
    55 sql latch level 8 wait
    56 sql latch level 9 wait
    57 sql latch level 10 wait
    58 sql latch level 11 wait
    59 sql latch level 12 wait
    60 sql latch level 13 wait
    61 sql latch level 14 wait
    62 sql latch level 15 wait
    63 sql latch level 16 wait
    64 sql latch level 17 wait
    65 sql latch level 18 wait
    66 sql latch level 19 wait
    67 sql latch level 20 wait
    68 sql latch level 21 wait
    69 sql latch level 22 wait
    70 sql latch level 23 wait
    71 sql latch level 24 wait
    72 sql latch level 25 wait
    73 sql latch level 26 wait
    74 sql latch level 27 wait
    75 sql latch level 28 wait
    76 sql latch level 29 wait
    77 sql latch level 30 wait
    78 sql latch level 31 wait
    79 sql latch level 32 wait
    80 sql buffer wait
    81 long pause_wait
    82 memory manager freeze and other
    83 release
    84 deferred preempt
    85 memory manager pseudo ioread
    86 memory manager pseudo iowrite
    87 other wait
    100dispatcher not blocked
    101dead process
2026 Last NM error entry number (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the last NM error entry number, a value in the range 0..16. The NM error object is a circular queue of 16 elements. Upon entry into an NM intrinsic, the NM intrinsic error object is flushed out. The last error returned here is an index into the error object, to the rear of the error queue. It is reset to 0 upon entry into an intrinsic.
2027 First NM error entry number (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the first error entry number, a value in the range 0..16. The NM error circular queue may wrap around in case of too many errors. This item returns an index to the first valid error message, that is, the new front of the circular queue. It is reset to 0 upon entry into an intrinsic.
2028 Any NM errors lost? (B) Put: Yes; Verify: Yes; Release 3.0

True if the error queue has wrapped around, causing errors to be lost. It is reset to false upon entry into an intrinsic.
2029 Total number of NM errors (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of valid errors recorded in the error queue, a value in the range 0..16. It is reset to 0 upon entry into an intrinsic.
2030 NM intrinsic errors (I32A) Put: Yes; Verify: No; Release 3.0

Returns an array of all the errors dumped onto the stack by the last call to an NM intrinsic. The errors are all MPE/iX statuses that can be investigated through normal error mechanisms. The range of indices holding valid errors is determined by the above items. The maximum number of errors is 16. The user should pass an area of appropriate size. The first word of the buffer is expected to hold the size, in words, of the rest of the buffer area. The first word, on return, specifies the number of errors returned. The itemstatus_array should be checked to determine whether information was truncated.
2031 I/Os outstanding (I32) Put: No; Verify: Yes; Release 3.0

Returns the total number of I/Os outstanding for this process.
2032 CM I/Os outstanding (I32) Put: No; Verify: Yes; Release 3.0

Returns the number of CM I/Os outstanding for this process.
2033 Process type (U32) Put: No; Verify: Yes; Release 3.0

Returns the type of the process. Values and their meanings are as follows:
    0 User (any process created by a user)
    1 Son (process created by CI to run user programs)
    2 Main (CI process)
    3 Task (not in use)
    4 System (some integral processes)
    5 Detach (not connected to the PROGEN tree)
    6 UCOP (JSmain)
    7 Unknown (uninitialized processes)
2034 Program name (REC) Put: No; Verify: Yes; Release 3.0

Returns the fully qualified MPE syntax name of the program file. It is of type filename_type, with the file, group, and account names each left-justified and padded with blanks.

Note that this item should be used only for names that can be expressed using MPE syntax. Item 2131 should be used for HFS syntax or MPE syntax program files which are represented using a HFS pathname. If you select this item for a file that cannot be represented using MPE syntax, then blanks are returned and a warning is issued in itemstatus_array.

Record type: filename_type (Refer to appendix B.)
2035 Program file number (I32) Put: No; Verify: Yes; Release 3.0

Returns the HPFOPEN process local file number for the program file.
2036 Entry pointer (@64) Put: No; Verify: Yes; Release 3.0

Returns the address of the entry point for the program.
2037 CM mode initially? (B) Put: No; Verify: Yes; Release 3.0

Returns true if the image was loaded from a CM program and false if it was loaded from an NM program.
2038 Info string passed? (B) Put: No; Verify: Yes; Release 3.0

Returns true if an info string was passed when the program was loaded.
2039 Info string (CA256) Put: No; Verify: Yes; Release 3.0

Returns the character array (of maximum 256 characters) that was passed when the program was loaded. It is valid only if item 2038 "Info string passed?" is true. It is left-justified and padded with blanks.
2040 Parm (I32) Put: No; Verify: Yes; Release 3.0

Returns the parm specified (if any) when the program was loaded.
By default it is always 0.
2041 Space ID of the stack (I32) Put: No; Verify: Yes; Release 3.0

Returns the space ID for SR5. This space consists of, among other things, the NM area, the XRT area, and the CM area.
2042 XRT area base (@64) Put: No; Verify: Yes; Release 3.0

Returns a pointer to the base of the XRT area.
2043 XRT area limit (@64) Put: No; Verify: Yes; Release 3.0

Returns a pointer to the limit of the XRT area. This area is used for branching to external routines.
2044 CM area base (@64) Put: No; Verify: Yes; Release 3.0

Returns a pointer to the base of the CM area.
2045 CM area limit (@64) Put: No; Verify: Yes; Release 3.0

Returns a pointer to the limit of the CM area. The CM area is configured exactly as in MPE V/E. It takes into account the MAXDATA specified in the RUN command or at process creation time.
2046 NM stack base (@64) Put: No; Verify: Yes; Release 3.0

Returns a pointer to the base of NM Stack.
2047 NM stack limit (@64) Put: No; Verify: Yes; Release 3.0

Returns a pointer to the limit of the NM stack. Within the area between the NM stack base and the stack limit lie the stack area, the heap area, and the global data area. It takes into account the size specified at process creation time or in the NMSTACK option in the RUN command.
2048 Heap area base (@64) Put: No; Verify: Yes; Release 3.0

Returns a pointer to the base of the heap area.
2049 Heap area limit (@64) Put: No; Verify: Yes; Release 3.0

Returns a pointer to the limit of the heap area. The heap grows in the area between the heap base and the heap limit. The heap and the stack grow towards each other in Pascal. It takes into account the size specified at process creation time or in the NMHEAP option in the RUN command.
2050 PCBX address (@64) Put: No; Verify: Yes; Release 3.0

Returns the address of PCBX base.
2051 Split stack mode? (B) Put: No; Verify: Yes; Release 3.0

Returns true if the process is currently in split stack mode. By default it is false, even for NM processes.
2052 DB DST number (I32) Put: No; Verify: Yes; Release 3.0

Returns the DST number of the segment into which DB is pointing. It may be different from the actual stack DST in split stack mode.
2053 CM stack DST number (I32) Put: No; Verify: Yes; Release 3.0

Returns the DST number assigned to the CM area in the process local space. It is initialized at process creation time, once and for all. The address of the CM area base, in split stack mode, can be obtained through the CM area base and NM SID items.
2054 DB (@64) Put: No; Verify: Yes; Release 3.0

Returns an offset within the space ID of the current stack. This is maintained only at the time of a switch. It may be outdated information if the process is in CM.
2055 DL (@64) Put: No; Verify: Yes; Release 3.0

Returns the address of DL. It points into the CM stack area.
2056 Initial DL (I32) Put: No; Verify: Yes; Release 3.0

Returns the initial displacement from DL to DB, in halfwords (16-bit words). It is the size specified in the DL option of the RUN command or at process creation time.
2057 Initial Q (I32) Put: No; Verify: Yes; Release 3.0

Returns the initial displacement from DB to Q, in halfwords (16-bit words). It takes into account the size specified in the STACK option at process creation time or in the RUN command.
2058 Number of extra data segments (I32) Put: No; Verify: Yes; Release 3.0

Returns the number of extra data segments allocated to the process.
2059 List of extra data segments (REC) Put: No; Verify: No; Release 3.0

Returns an array of the DST numbers and the virtual addresses of the extra data segments allocated to the process. The maximum number of DSTs for a process can be obtained from AIFSCGET. You should pass a buffer of appropriate size. The first word of the buffer is expected to hold the size, in words, of the rest of the buffer area. The first word, upon return, specifies the number of DST numbers returned. Check itemstatus_array to see if information was truncated.

Record type: dstsrec_type (Refer to appendix B.)
2060 LSTT DST number (I32) Put: No; Verify: Yes; Release 3.0

Returns the DST number of the segment holding the logical segment transfer table.
2061 LSTT address (@64) Put: No; Verify: Yes; Release 3.0

Returns the address of the logical segment transfer table. Using this address is a faster method of accessing the LSTT than the CM way of going through a DST.
2062 Number of open files (I32) Put: No; Verify: Yes; Release 3.0

Returns the number of files opened for this process. Standard files and all active opens are counted. If a file has been opened twice, it is counted twice.
2063 File numbers of the open files (REC) Put: No; Verify: No; Release 3.0

Returns an array of the NM file numbers of all the files opened by the process. The maximum number of files can be 1024, including the standard files.

Note that this item returns file numbers for both MPE syntax and HFS syntax files. Item 2064 only supports names that can be represented using MPE syntax. Item 2122 is able to represent all file names, including MPE syntax and HFS syntax files.

Not all the standard files may be open by default. Hence, some of these may not be returned. The file numbers for the standard files are:
    0 $STDIN
    1 $STDLIST
    2 $STDERR
    3 Not used
    4 Root directory
    5 Account directory
    6 Group directory
    7 Temporary directory
You should pass an area of appropriate size. The first word of the buffer is expected to hold the size, in words, of the rest of the buffer area. The first word, upon return, specifies the number of file numbers returned. Check itemstatus_array to see if information was truncated.

Record type: I32rec_type (Refer to appendix B.)
2064 MPE names of files (REC) Put: No; Verify: No; Release 3.0

Returns a list of fully qualified file names of the files opened by this process. The file name, group name, and account name are each left-justified and padded with blanks. For device files and standard files, the group and account names will be blanks.

Only those names which can be represented by MPE-syntax will be returned. For HFS files, the filename, group, and account fields will be blank and a warning will be returned. Your application can either check for blank names if you wish to continue using this item or you can use item 2122 to retrieve the file pathnames.

The maximum number of files that can be opened by a process can be obtained from AIFSCGET. You should pass an area of appropriate size. The first word of the buffer is expected to hold the size, in 16-byte records, of the rest of the buffer area. The first word, on return, specifies the number of names returned. Check itemstatus_array to see if information was truncated.

Record type: Fnamerec_type (Refer to appendix B.)
2065 UFIDs of files (REC) Put: No; Verify: No; Release 3.0

Returns a list of UFIDs (unique identifiers) for the open files. These can then be used as input to the other AIFs. For device files and standard files, the UFID will be blanks. You should pass an area of appropriate size. The first word of the buffer will be expected to hold the size, in 5-word chunks, of the rest of the buffer area. The first word, on return, specifies the number of UFIDs returned. Check itemstatus_array to see if information was truncated.

The Pathname Identifier, item 2123, should be specified for HFS files since the UFID alone is not adequate to return a Pathname for an HFS file.

Record type: Ufidrec_type (Refer to appendix B.)
2066 Process Tree (REC) Put: No; Verify: No; Release 3.0

Returns entire process tree, PIDs for calling process, PIDs for children, and PIDs for any grandchildren. The children appear in chronological order of birth. The maximum size is a system constant, obtainable from AIFSCGET. You should pass a buffer of appropriate size. The first word of the buffer is expected to hold the size, in longwords, of the rest of the buffer area. The first word, upon return, specifies the number of PIDs returned. Check itemstatus_array to see if information was truncated.

Record type: I64rec_type (Refer to appendix B.)
2067 PCB pointer (@64) Put: No; Verify: Yes; Release 3.0

Returns the PCB pointer.
2068 Max. short mapped space allowed (I32) Put: No; Verify: Yes; Release 3.0

Returns the maximum amount, in bytes, of short-mapped space allowed.
2069 Short mapped space used (I32) Put: No; Verify: Yes; Release 3.0

Returns the amount, in bytes, of virtual space used for short-mapped files.
2070 General resource capabilities (U32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the resources capability mask for the process. This mask contains the resource capabilities for the user associated with the process. Not valid for processes in the wait state. Mask bits and their meanings are as follows:
    Bits(0:22) Unused
    Bit (23:1) Batch access
    Bit (24:1) Interactive access
    Bit (25:1) Privileged mode
    Bit (26:2) Unused
    Bit (28:1) Multiple RINs
    Bit (29:1) Unused
    Bit (30:1) Extra data segment
    Bit (31:1) Process handling
2071 System code depth (I32) Put: No; Verify: Yes; Release 3.0

Returns the number of nested calls to enter system code.
2072 Critical code depth (I32) Put: No; Verify: Yes; Release 3.0

Returns the number of nested calls to enter critical code.
2073 Number of CM intrinsic errors (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of errors during the last call to a CM intrinsic. Values are in the range 0..6. This item is zeroed out upon entry into a CM intrinsic.
2074 CM intrinsic errors (I32A) Put: Yes; Verify: No; Release 3.0

Returns or modifies the errors dumped onto the stack by the last call to a CM intrinsic. It is flushed out upon entry to any intrinsic. Values are in the range of shortint.

The highest index entry is the last error recorded. The format of the error message depends upon the intrinsic called. This array can have a maximum of 6 elements. You should pass an area of appropriate size. The first word of the buffer is expected to hold the size, in words, of the rest of the buffer area. The first word, upon return, specifies the number of error returned. Check itemstatus_array to see if information was truncated.
2075 Last FOPEN error (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the last FOPEN error in accessing a file. Prior to Release 4.5, valid values for this item were in the range 0..255. Now because there is an increase in the number of errors the file system must report, the last FOPEN error is kept in the form of an HPE status in a process structure. This HPE status gets converted to an MPE error when the user calls FCHECK.

Therefore, when getting this item, the HPE status will be converted to an MPE error, and on a PUT, the MPE error will be converted to a HPE status. This is to maintain compatibility for existing applications. Currently, if you pass in an invalid FOPEN error which cannot be converted, the file system will return an FOPEN error of -20 (Invalid Operation).
2076 Last KOPEN error (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the last KOPEN error in accessing a KSAM file. It is a CM KOPEN error status. Values are in the range 0..255.
2077 CM arithmetic trap enabled? (B) Put: No; Verify: Yes; Release 3.0

Returns true if arithmetic traps in CM are enabled, and false otherwise.
2078 CM arithmetic trap handler (I32) Put: No; Verify: Yes; Release 3.0

Returns a short pointer which is actually a CM Plabel. It is the plabel for the trap handler to be invoked in case of an arithmetic trap.
2079 NM arithmetic trap mask (I32) Put: No; Verify: Yes; Release 3.0

Returns the mask for arithmetic traps raised in NM. This mask is set by the compiler. The bits and their meanings are as follows:
    Bits (0:7) Reserved (set to zero)
    Bit (8:1) Paragraph stack overflow
    Bit (9:1) Unimplemented error conditions
    Bit (10:1) Software detected misaligned result of pointer arithmetic or error in conversion from long pointer to short pointer
    Bit (11:1) Software detected nil pointer
    Bit (12:1) Range errors
    Bit (13:1) IEEE floating-point, invalid operation
    Bit (14:1) IEEE floating-point divide by zero
    Bit (15:1) IEEE floating-point overflow
    Bit (16:1) IEEE floating-point underflow
    Bit (17:1) IEEE floating-point inexact result
    Bit (18:1) Decimal divide by 0
    Bit (19:1) Reserved for future use (set to 0)
    Bit (20:1) Unused
    Bit (21:1) Invalid decimal digit
    Bit (22:1) Invalid ASCII digit
    Bit (23:1) Decimal overflow
    Bit (24:1) 3000 mode double precision divide by zero
    Bit (25:1) 3000 mode double precision underflow
    Bit (26:1) 3000 mode double precision overflow
    Bit (27:1) Integer overflow
    Bit (28:1) 3000 mode floating-point overflow
    Bit (29:1) 3000 mode floating-point underflow
    Bit (30:1) Integer divide by zero
    Bit (31:1) 3000 mode floating-point divide by zero
Consult the intrinsic HPENBLTRAP for further details.
2080 NM arithmetic trap handler (@64) Put: No; Verify: Yes; Release 3.0

Returns the address of the exception handler to be invoked in case of a floating-point exception.
2081 CM library trap handler (I32) Put: No; Verify: Yes; Release 3.0

Returns a short pointer that is actually a CM plabel. It is the plabel for the trap handler to be invoked in case of a library trap in CM.
2082 NM library trap handler (@64) Put: No; Verify: Yes; Release 3.0

Returns the address of the trap handler to be invoked in case of a library trap in NM.
2083 CM system trap handler (I32) Put: No; Verify: Yes; Release 3.0

Returns a short pointer which is actually a CM plabel. It is the plabel for the trap handler to be invoked in case of a system trap in CM.
2084 NM system trap privileged level (I32) Put: No; Verify: Yes; Release 3.0

Returns the privileged level at which the trap handler executes.
2085 NM system trap handler (@64) Put: No; Verify: Yes; Release 3.0

Returns the address of the trap handler to be invoked in case of a system trap in NM.
2086 Unsatisfied reference handler (I32) Put: No; Verify: Yes; Release 3.0

Returns an NM plabel for the procedure to be invoked in case of an unresolved external call. By default, a load fails in cases of unresolved externals. However, if the UNSAT option is specified at process creation time, this item is initialized and this procedure is called instead of unresolved externals. A nil pointer indicates that there are no unresolved externals.
2087 Unsatisfied reference procedure (CA32) Put: No; Verify: Yes; Release 3.0

Returns the name of the procedure to be invoked in case of an unsatisfied external reference at run time. The name will be left-justified and padded with blanks. It is set through the UNSAT option in the RUN command or the CREATEPROCESS intrinsic. It is blank if there are no unsatisfied external references in the image.
2088 Dump armed? (B) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies whether the SETDUMP intrinsic has been called by the process. True if SETDUMP has been called and false otherwise. If it is true, then upon process abort, Debug is called with a command string that results in a full stack trace of both the CM and the NM data stacks, and a dump of NM registers. This output is sent to the standard list device.
2089 DEBUG commands (CA256) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the commands to be executed by Debug upon invocation when a process aborts and if a call to SETDUMP intrinsic had been made prior to the abort. The names are returned left-justified and padded with blanks. By default, a call to SETDUMP causes the Debug commands to be tr d,i;c. Blanks are returned if SETDUMP was not invoked.

This item should consist only of valid Debug commands separated by a semicolon (;), the same as the macros for DAT/Debug/SAT and the SETDUMP intrinsic.
2090 DEBUG armed? (B) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies whether or not Debug should be invoked if the program aborts. By default it is false. It is true if the RUN command is invoked with the DEBUG option.
2091 CPU time, in ticks (REC) Put: No; Verify: Yes; Release 3.0

Returns the CPU time, in ticks, used by the process. It is processor dependent and accessed speedily. For processor-independent time, use item 2092 to obtain the time in milliseconds.

Record type: longint_type (Refer to appendix B.)
2092 CPU time, in milliseconds (REC) Put: No; Verify: Yes; Release 3.0

Returns the CPU time, in milliseconds, used by the process.

Record type: longint_type (Refer to appendix B.)
2093 Does process have a SIR? (B) Put: No; Verify: Yes; Release 3.0

Returns true if this process is currently holding a SIR, and false otherwise.
2094 JS key (I32) Put: No; Verify: Yes; Release 4.0

An internal key used to access job/session information through AIFJSGET. A JS key should be used only as an input key in calls to AIFJSGET, and should not be interpreted as any sort of job/session identifier. (JS keys are also returned by AIFSYSWIDEGET.)
2095 User and file access capabilities (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the capability mask for this process. It is a bit map, and if the bit is set to 1, the process owns the corresponding capability. Bits and their meanings are as follows:
    Bits(0:16) Unused
    Bit (16:1) System manager
    Bit (17:1) Account manager
    Bit (18:1) Account librarian
    Bit (19:1) Group librarian
    Bit (20:1) Diagnostician
    Bit (21:1) System supervisor
    Bit (22:1) Create volume sets
    Bit (23:1) Use private volumes
    Bit (24:1) Use user logging
    Bit (25:1) Unused
    Bit (26:1) Programmatic sessions
    Bit (27:1) Network administrator
    Bit (28:1) Node manager
    Bit (29:1) Use comm subsystem
    Bit (30:1) Nonshareable device
    Bit (31:1) Save files
2096 Time process on ready queue after awakening (REC) Put: No; Verify: Yes; Release 4.0

Returns time when process is inserted in Ready Queue. Used by Measurement Interface to calculate time spent on Ready Queue by subtracting Ready Queue time from current time (time when process is launched). This value is updated when the Measurement Interface is turned on.

Record type: "longint_type" (Refer to appendix B.)
2105 NM stack maximum SP (@64) Put: No; Verify: Yes; Release 4.0

Returns a pointer to the NM stack maximum. When a stack is initialized for a process this is the same value as the NM stack limit. It takes into account the size specified at process creation time or in the NMSTACK option in the RUN command.
2106 Execution Mode (B) Put: No; Verify: Yes; Release 4.0

Returns the execution mode of the specified process. Note that the process' execution changes dynamically, therefore this is just a "snapshot" of the process' execution mode. True indicates the execution mode is CM, a false value indicates NM execution.
2107 CM Maxdata (I32) Put: No; Verify: Yes; Release 4.0

Returns the maximum CM stack area size in 16 bit words.
2108 CM S (I32) Put: No; Verify: Yes; Release 4.0

Returns the current CM top of stack in DB relative CM (16-bit) words.
2109 JDT DST (I32) Put: No; Verify: Yes; Release 4.0

Returns the DST number of the segment for the Job Directory Table(JDT).
2110 Job name (CA16) Put: Yes; Verify: Yes; Release 4.5

Returns or modifies the identifier given to a job or session. It must be left-justified, all capitals, and padded with blanks. All blanks represent a job or session that does not have a job name. Only the first eight characters are changed using AIFJSPUT. This information is local to the process.
2111 User name (CA16) Put: No; Verify: Yes; Release 4.5

Returns the name of the user that the job or session is logged on to. It is left-justified and padded with blanks. This information is local to the process.
2112 Group name (CA16) Put: No; Verify: Yes; Release 4.5

Returns the name of the group that the job or session is logged on to. This is left-justified and padded with blanks. This information is local to the process.
2113 Account name (CA16) Put: No; Verify: Yes; Release 4.5

Returns the name of the account that the job or session is logged on to. This is left-justified and padded with blanks. This information is local to the process.
2114 Maximum Account Job Priority (I32) Put: No; Verify: Yes; Release 4.5

Returns or modifies a priority that is the maximum allowed for the account that the job or session is logged on to. This information is local to the process. The maximum priority for an account is specified by using the MAXPRI parameter of the NEWACCT and ALTACCT commands. This item will not return valid data for jobs in the WAIT state. The values and their associated queues are as follows:
    100 BS queue
    150 CS queue
    200 DS queue
    250 ES queue
2115 Account Security (I32) Put: Yes; Verify: Yes; Release 4.5

Returns or modifies the security mask for the account that the job or session is logged on to. This information is local to the process. The account security mask can also be set using the ALTSEC command. Not valid for jobs in the WAIT state. The bits of the mask have the following meanings:
    Bits (0:20) Unused
    Bit (20:1) Read any
    Bit (21:1) Read account user
    Bit (22:1) Append any
    Bit (23:1) Append account user
    Bit (24:1) Write any
    Bit (25:1) Write account user
    Bit (26:1) Lock any
    Bit (27:1) Lock account user
    Bit (28:1) Execute any
    Bit (29:1) Execute account user
    Bits (30:2) Unused
2116 Group security (I32) Put: Yes; Verify: Yes; Release 4.5

Returns or modifies the security mask for the group that the job or session is logged on to. This information is local to the process. The group security mask can also be set using the ALTSEC command. Not valid for jobs in the WAIT state. The bits of the mask have the following meanings:
    Bits (0:2) Unused
    Bit (2:1) Read any
    Bit (3:1) Read account user
    Bit (4:1) Read account librarian
    Bit (5:1) Read group user
    Bit (6:1) Read group librarian
    Bit (7:1) Append any
    Bit (8:1) Append account user
    Bit (9:1) Append account librarian
    Bit (10:1) Append group user
    Bit (11:1) Append group librarian
    Bit (12:1) Write any
    Bit (13:1) Write account user
    Bit (14:1) Write account librarian
    Bit (15:1) Write group user
    Bit (16:1) Write group librarian
    Bit (17:1) Lock any
    Bit (18:1) Lock account user
    Bit (19:1) Lock account librarian
    Bit (20:1) Lock group user
    Bit (21:1) Lock group librarian
    Bit (22:1) Execute any
    Bit (23:1) Execute account user
    Bit (24:1) Execute account librarian
    Bit (25:1) Execute group user
    Bit (26:1) Execute group librarian
    Bit (27:1) Save any
    Bit (28:1) Save account user
    Bit (29:1) Save account librarian
    Bit (30:1) Save group user
    Bit (31:1) Save group librarian
2117 Home Group (CA16) Put: No; Verify: Yes; Release 4.5

Returns the name of the home group for the user that the job or session is logged on to. This is left-justified and padded with blanks. Not valid for jobs in the WAIT state. This information is local to the process.
2118 Account Local Attributes (I32) Put: Yes; Verify: Yes; Release 4.5

Returns or modifies the local attributes for the account that the job or session is currently logged on to. These attributes are an extension of MPE/iX security and are not required. Their meaning is user defined, although the first 16 bits are unused. Not valid for jobs in the WAIT state. This information is local to the process.
2119 User Capabilities (I32) Put: Yes; Verify: Yes; Release 4.5

Returns or modifies the user capability mask for the job or session. Not valid for jobs in the WAIT state. This information is local to the process. Mask bits and their meanings are as follows:
    Bits(0:16) Unused
    Bit (16:1) System manager
    Bit (17:1) Account manager
    Bit (18:1) Account librarian
    Bit (19:1) Group librarian
    Bit (20:1) Diagnostician
    Bit (21:1) System supervisor
    Bit (22:1) Create volume sets
    Bit (23:1) Use private volumes
    Bit (24:1) Use user logging
    Bit (25:1) Unused
    Bit (26:1) Programmatic session
    Bit (27:1) Network administrator
    Bit (28:1) Node manager
    Bit (29:1) Use comm subsystem
    Bit (30:1) Non-shareable device
    Bit (31:1) Save files
2120 General Resource Capabilities (I32) Put: Yes; Verify: Yes; Release 4.5

Returns or modifies the general resources capability mask for the job or session. This mask contains the general resource capabilities for the user that the job or session is logged on to. Not valid for jobs in the WAIT state. This information is local to the process. Mask bits and their meanings are as follows:
    Bits(0:23) Unused
    Bit (23:1) Batch access
    Bit (24:1) Interactive access
    Bit (25:1) Privileged mode
    Bit (26:2) Unused
    Bit (28:1) Multiple RINs
    Bit (29:1) Unused
    Bit (30:1) Extra data segment
    Bit (31:1) Process handling
2121 Allow Mask (BA96) Put: Yes; Verify: Yes; Release 4.5

Returns or modifies the commands allowed for this session in a packed array of 96 booleans. True is returned if the command is allowed for the job or session. Not valid for jobs in the WAIT state. This information is local to the process. The commands and their array locations are as follows:

  ABORTIO     = 1   DELETE       = 19  LDISMOUNT    = 37
  ACCEPT      = 2   DISALLOW     = 20  MRJECONTROL  = 38
  DOWN        = 3   JOBFENCE     = 21  JOBSECURITY  = 39
  GIVE        = 4   LIMIT        = 22  DOWNLOAD     = 40
  HEADOFF     = 5   STOPSPOOL    = 23  MIOENABLE    = 41
  HEADON      = 6   SUSPENDSPOOL = 24  MIODISABLE   = 42
  REFUSE      = 7   OUTFENCE     = 25  LOG          = 43
  REPLY       = 8   RECALL       = 26  FOREIGN      = 44
  STARTSPOOL  = 9   RESUMEJOB    = 27  IMF          = 45
  TAKE        = 10  RESUMESPOOL  = 28  SHOWCOM      = 46
  UP          = 11  STREAMS      = 29  OPENQ        = 47
  MPLINE      = 12  CONSOLE      = 30  SHUTQ        = 48
  DSCONTROL   = 13  WARN         = 31  DISCSENSING  = 49
  ABORTJOB    = 14  WELCOME      = 32  VSRESERVESYS = 50
  ALLOW       = 15  MON          = 33  VSRELEASESYS = 51
  ALTFILE     = 16  MOFF         = 34  VSCLOSE      = 52
  ALTJOB      = 17  VMOUNT       = 35  VSOPEN       = 53
  BREAKJOB    = 18  LMOUNT       = 36  unused       = 54..96
  
2122 Pathnames of Open Files (@64) Put: No; Verify: No; Release 4.5

Returns a list of file pathnames for each file opened by this process. The long pointer specified in this item points to the buffer where the names will be returned. Each name will be terminated by a NULL character.

On input, the first four bytes in the buffer will represent the maximum buffer length in bytes. On output, the first four bytes will contain the actual number of bytes returned (this includes the NULL terminators separating each name). Refer to Operation Notes for AIFSYSWIDEGET for a diagram of the buffer format.

If an HFS file has been opened by UFID and not by name or if the file is a special MPE file which cannot be represented as an HFS pathname (for example, $TEMPDIRC), then there will be no pathname associated with the file. In this case, a NULL character will be written to the buffer to delimit a place holder for the file. This is so that each name will match up with a corresponding entry in the file number and path_identifier arrays (items 2063 and 2123).

See the buffer_type declaration in appendix B for a suggestion on how to define this buffer.
2123 Path Identifiers of Open Files (RECA) Put: No; Verify: Yes; Release 4.5

Returns the unique path identifiers for the open files. If a file has been opened by UFID and not by name or if the file is a special MPE file not supported by the hierarchical directory services, then the path_identifier entry for that file will not contain all the information needed to identify a unique pathname. The parent_ufid and link ID fields will be 0.

Record type: path_id_rec_type
2125 Fork Process (B) Put: No; Verify: Yes; Release 4.5

Returns true if the process was created using the fork() function.
2126 UID (I32) Put: Yes; Verify: Yes; Release 4.5

Returns the process' real user ID. This POSIX attribute is assigned to each user on the system. Every process created by a user has that user's real user ID.
2127 EUID - Effective UID (I32) Put: Yes; Verify: Yes; Release 4.5

Returns the process' effective user ID. This POSIX attribute describes the access rights of a process to files. At process creation time, the EUID matches the UID, but it may be changed with the setuid() function.
2128 GID (I32) Put: Yes; Verify: Yes; Release 4.5

Returns the process' real group ID. This POSIX attribute describes the group a process belongs to.
2129 EGID - Effective GID (I32) Put: Yes; Verify: Yes; Release 4.5

Returns the process' effective Group ID. This is a POSIX attribute which determines access rights of a process to files. At process creation time, the EGID matches the GID, but it may be changed with the setgid() function.
2130 CMASK (U32) Put: Yes; Verify: Yes; Release 4.5

Returns the process' file creation mask. This mask changes with the POSIX umask() function. Any file created after a process calls umask will have an ACD attached to the file.
2131 Program pathname (REC) Put: No; Verify: Yes; Release 4.5

Returns the absolute pathname of the program file.

On input, the first four bytes in the buffer will represent the maximum buffer length in bytes. On output, the name will be terminated by a NULL character and the first four bytes will contain the actual number of bytes returned (not including the NULL character or the one word length).

Note that this item should only be used for names that can be expressed using HFS syntax. If you specify this item for a program (for example, $OLDPASS) that cannot be expressed using HFS syntax, then a warning is returned in itemstatus_array.

Record type: pathname_type
2132 Break Request Done (B) Put: No; Verify: Yes; Release 4.5

Returns the Boolean flag used to indicate whether a process received the process management break interrupt message or not. Set to true to indicate that the process has been put into a break wait. Set to false to indicate that the process is no longer in break wait but on the dispatcher queue.
2133 Break Request Cancel (I32) Put: No; Verify: Yes; Release 4.5

Returns counter used by process management to indicate whether a pending process management break interrupt message just received is to be ignored or not.
2134 Break Request Pending (I32) Put: No; Verify: Yes; Release 4.5

Returns counter used by process management to indicate whether a process management break interrupt message that is being sent has been received and is being acted upon. The process receiving the message will be in a break wait state.
2135 List of sibling PIDs (REC) Put: No; Verify: No; Release 4.5

Returns a list of PIDs of all the sibling processes. The maximum size is a system constant, obtainable from AIFSCGET. You should pass a buffer of appropriate size. The first word of the buffer is expected to hold the size, in longwords, of the rest of the buffer area. The first word, upon return, specifies the number of PIDs returned. Check itemstatus_array to see if information was truncated.

Record type: I64rec_type (Refer to appendix B)
2136 List of parent PIDs (REC) Put: No; Verify: No; Release 4.5

Returns a list of PIDs of all the parent processes. The maximum size is a system constant, obtainable from AIFSCGET. You should pass a buffer of appropriate size. The first word of the buffer is expected to hold the size, in longwords, of the rest of the buffer area. The first word, upon return, specifies the number of PIDs returned. Check itemstatus_array to see if information was truncated.

Record type: I64rec_type (Refer to appendix B)
2142 Interactive? (B) Put: Yes; Verify: Yes; Release 5.0

Returns or modifies the interactive status of the process. True when human intervention is required for all input operations.
2143 Environment Nil (B) Put: No; Verify: Yes; Release 5.0

Returns whether the user has a nil environment. If a process has a nil environment, then during startup of its child POSIX process, all the CI variables for the job/session environment are changed into an environment format and inherited by the child process.
2144 Workgroup name (CA256) Put: Yes; Verify: Yes

Returns or modifies the name of the workgroup to which the specified process belongs. The workgroup name will be left justified and terminated by a NULL character (ASCII 0). AIFPROCPUT with this item number will move the target process to the specified workgroup. A process moved in this manner is considered an artificial member of the workgroup (the process was placed in a workgroup explicitly, rather than naturally by meeting the membership criteria specified for the workgroup). A process remains an artificial member of its assigned workgroup until either the workgroup is purged or its explicit assignment is changed by AIFPROCPUT item 2146.

An artificial member is not affected by a system-wide scan or by the changing of its process attributes used to determine workgroup membership.

If both items 2144 and 2146 are specified, then the order they are passed will determine the outcome. If the order is item 2144 followed by item 2146, then the process will migrate to its natural workgroup. However if item 2146 is passed followed by item 2144, then the process will be pegged to the name of the workgroup passed as its artificial member.

Record type: CA256
2145 Artificial Member? (B) Put: No; Verify: Yes
2146 Return to Natural Workgroup (B) Put: Yes; Verify: No

Returns the specified process to its natural workgroup. This item will return a warning for AIFPROCGET in the item status array. This item allows the process to migrate to its natural workgroup. If the process is an artificial member of a workgroup, this item will release the process from its explicit workgroup assignment. However a process who is a member of its natural workgroup will not be impacted.

If both items 2144 and 2146 are specified, then the order they are passed will determine the outcome. If the order is item 2144 followed by item 2146, then the process will migrate to its natural workgroup. However if item 2146 is passed followed by item 2144, then the process will be pegged to the name of the workgroup passed as its artificial member.
2147 Execution State? (I32) Put: No; Verify: Yes

Returns the execution state of the process. Values and their meanings are:
    0 Blocked for memory manager.
    1 Unused.
    2 Blocked for control block.
    3 All purpose block, usually waiting for a message.
    4 Ready to execute (or executing).
    5 Blocked for terminal write or control.
2148 Fixed Priority? (I32) Put: Yes; Verify: NO

Fixes the priority of the process at the value passed. This item will return a warning for AIFPROCGET.

A valid MPE/iX priority is in the range 0 .. 32767. This priority can be mapped to MPE V priority by the following formula:

 (All formula values are decimal.)
 MPEVPri = (32767 - MPEXLPri) DIV 128
      



3.42 AIFPROCPUT

3.44 AIFREPLYGET