 |
HP OpenVMS System Services Reference Manual
HP OpenVMS System Services Reference Manual
The $GETJPI service cannot return this information for any process
other than the calling process; if you specify this item code and the
process is not the calling process, $GETJPI returns the value 0 in the
buffer.
JPI$_FAST_VP_SWITCH
On VAX systems, returns an unsigned longword containing the number of
times this process has issued a vector instruction that resulted in an
inactive vector processor being enabled without the expense of a vector
context switch. In other words, this count reflects those instances
where the process has reenabled a vector processor on which the
process's vector context has remained intact.
JPI$_FILCNT
Returns the remaining open file quota of the process, which is a
longword integer value.
JPI$_FILLM
Returns the open file limit quota of the process, which is a longword
value.
JPI$_FINALEXC
Returns the address of a list of final exception vectors for the
process. Each exception vector in the list is a longword. There are
four vectors in the list, one for each access mode, in this order:
kernel, executive, supervisor, and user.
The $GETJPI service cannot return this information for any process
other than the calling process; if you specify this item code and the
process is not the calling process, $GETJPI returns the value 0 in the
buffer.
JPI$_FREP0VA
Returns the address of the first free page at the end of the program
region (P0 space) of the process.
JPI$_FREP1VA
Returns the address of the first free page at the end of the control
region (P1 space) of the process.
JPI$_FREPTECNT
Returns the number of pages (on VAX systems) or pagelets (on Alpha and
I64 systems) that the process has available for virtual memory
expansion.
On VAX systems, the value returned is a longword integer. On Alpha and
I64 systems, the value returned requires a quadword of storage. If the
buffer size supplied is not equal to 8 bytes, and the number of free
pagelets exceeds the maximum value that can be represented in a
longword, $GETJPI returns the largest positive 32-bit integer:
2147483647.
JPI$_GETJPI_CONTROL_FLAGS
The JPI$_GETJPI_CONTROL_FLAGS item code, which is specified in the
$GETJPI item list, provides additional control over $GETJPI; therefore,
$GETJPI might be unable to retrieve all the data requested in an item
list because JPI$_GETJPI_CONTROL_FLAGS requests that $GETJPI not
perform certain actions that might be necessary to collect the data.
For example, a $GETJPI control flag might instruct the calling program
not to retrieve a process that has been swapped out of the balance set.
If $GETJPI is unable to retrieve any data item because of the
restrictions imposed by the control flags, it returns the data length
as 0. To verify that $GETJPI received a data item, examine the data
length to be sure that it is not 0. To ensure the verification, be sure
to specify the return length for each item in the $GETJPI item list
when any of the JPI$_GETJPI_CONTROL_FLAGS flags is used.
Unlike other $GETJPI item codes, the JPI$_GETJPI_CONTROL_FLAGS item is
an input item. The item list entry should specify a longword buffer.
The desired control flags should be set in this buffer.
Because the JPI$_GETJPI_CONTROL_FLAGS item code tells $GETJPI how to
interpret the item list, it must be the first entry in the $GETJPI item
list. The error code SS$_BADPARAM is returned if it is not the first
item in the list.
The JPI$_GETJPI_CONTROL_FLAGS item code includes the following flags:
| Flag |
Description |
|
JPI$M_NO_TARGET_INSWAP
|
Does not retrieve a process that has been swapped out of the balance
set. This control flag is used to avoid adding the load of swapping
processes into a system. By using this control flag and requesting
information from a process that has been swapped out, the following
occurs:
- Any data stored in the virtual address space of the process is not
accessible.
- Any data stored in the process header (PHD) might not be accessible.
- Any data stored in resident data structures, such as the process
control block (PCB) or the job information block (JIB), is accessible.
You must examine the return length of an item to verify that the
item was retrieved.
|
|
JPI$M_NO_TARGET_AST
|
Does not deliver a kernel mode AST to the target process. This control
flag is used to avoid executing a target process to retrieve
information. By using this control flag and not delivering an AST to a
target process, the following occurs:
- Any data stored in the virtual address space of the process is not
accessible.
- Any data stored in system data structures, such as the process
header (PHD), the process control block (PCB), or the job information
block (JIB), is accessible.
You must examine the return length of an item to verify that the
item was retrieved.
The use of this control flag also implies that $GETJPI does not
swap in a process, because $GETJPI would only bring a process into
memory to deliver an AST to that process.
|
|
JPI$M_IGNORE_TARGET_STATUS
|
Attempts to retrieve as much information as possible, even though the
process might be suspended or is being deleted. This control flag is
used to retrieve all possible information from a process.
|
|
JPI$M_THREAD
|
Sets the wildcard mode to return information on all of the process's
kernel threads beginning with the initial kernel thread.
|
JPI$_GPGCNT
Returns, in pages (on VAX systems) or pagelets (on Alpha and I64
systems), the process's global page count in the working set, which is
a longword integer value.
JPI$_GRP
Returns, as a longword integer value, the group number of the process's
UIC.
JPI$_HOME_RAD
On Alpha and I64 systems, returns the home resource affinity domain
(RAD).
Note: OpenVMS support for RADs is available only on the AlphaServer GS series systems. For more information about using RADs, refer to the HP OpenVMS Alpha Partitioning and Galaxy Guide.
JPI$_IMAGECOUNT
Returns, as a longword integer value, the number of images that have
been run down for the process.
JPI$_IMAGE_AUTHPRIV
On Alpha and I64 systems, returns the authorized privilege mask of the
installed image.
These privileges are returned in a quadword privilege mask and are
defined by the $PRVDEF macro.
JPI$_IMAGE_PERMPRIV
On Alpha and I64 systems, returns the permanent (default) privilege
mask of the installed image.
These privileges are returned in a quadword privilege mask and are
defined by the $PRVDEF macro.
JPI$_IMAGE_RIGHTS
Returns the binary content of the image rights list as an array of
quadword identifiers. Each entry consists of a longword identifier
value and longword identifier attributes, as shown in Table SYS-43.
The image rights list is a set of identifiers associated with a
protected subsystem image. When a process runs a protected subsystem,
the subsystem rights are automatically added to the process's image
rights list. These identifiers are subsequently removed during image
rundown. Allocate a buffer that is sufficient to hold the image rights
list, because $GETJPI returns only as much of the list as will fit in
the buffer.
Table SYS-43 Attributes of an Identifier
| Symbolic Name |
Description |
|
KGB$M_DYNAMIC
|
Identifier can be enabled or disabled.
|
|
+KGB$M_NOACCESS
|
Rights of the identifier are null and void.
|
|
KGB$M_RESOURCE
|
Resources can be charged to the identifier.
|
|
+KGB$M_SUBSYSTEM
|
Identifier can be used to create protected subsystems.
|
+VAX specific
JPI$_IMAGE_WORKPRIV
On Alpha and I64 systems, returns the working (active) privilege mask
of the installed image.
These privileges are returned in a quadword privilege mask and are
defined by the $PRVDEF macro.
JPI$_IMAGNAME
Returns, as a character string, the directory specification and the
image file name.
JPI$_IMAGPRIV
Returns a quadword mask of the privileges with which the current image
was installed. If the current image was not installed, $GETJPI returns
the value 0 in the buffer.
JPI$_INITIAL_THREAD_PID
On Alpha and I64 systems, returns the PID of the initial thread for the
target process. The PID is a longword hexadecimal value.
JPI$_INSTALL_RIGHTS
On Alpha and I64 systems, returns the binary content of the install
rights list as an array of quadword identifiers. Each entry consists of
a longword identifier value and longword identifier attributes, as
shown in Table SYS-43. The install rights list is a set of identifiers
associated with an installed image.
JPI$_INSTALL_RIGHTS_SIZE
On Alpha and I64 systems, returns a longword integer containing the
number of bytes needed to store the install rights.
JPI$_JOBPRCCNT
Returns the total number of subprocesses owned by the job, which is a
longword integer value.
JPI$_JOBTYPE
Returns the execution mode of the process at the root of the job tree,
which is a longword integer value. The symbolic name and value for each
execution mode are listed in the following table. The $JPIDEF macro
defines the symbolic names.
| Mode Name |
Value |
|
JPI$K_DETACHED
|
0
|
|
JPI$K_NETWORK
|
1
|
|
JPI$K_BATCH
|
2
|
|
JPI$K_LOCAL
|
3
|
|
JPI$K_DIALUP
|
4
|
|
JPI$K_REMOTE
|
5
|
JPI$_KT_COUNT
On Alpha and I64 systems, returns the current count of kernel threads
for the target process, which is a longword integer value.
JPI$_LAST_LOGIN_I
Returns, as a quadword absolute time value, the date of the last
successful interactive login prior to the current session. It returns a
quadword of 0 when processes have not executed the LOGINOUT image.
JPI$_LAST_LOGIN_N
Returns, as a quadword absolute time value, the date of the last
successful noninteractive login prior to the current session. It
returns a quadword of 0 when processes have not executed the LOGINOUT
image.
JPI$_LOGIN_FAILURES
Returns the number of login failures that occurred prior to the current
session. It returns a longword of 0 when processes have not executed
the LOGINOUT image.
JPI$_LOGIN_FLAGS
Returns a longword bit mask containing information related to the login
sequence. It returns a longword of 0 when processes have not executed
the LOGINOUT image. The following bits are defined:
| Symbolic Name |
Description |
|
JPI$M_NEW_MAIL_AT_LOGIN
|
User had new mail messages waiting at login.
|
|
JPI$M_PASSWORD_CHANGED
|
User changed the primary password during login.
|
|
JPI$M_PASSWORD_EXPIRED
|
User's primary password expired during login.
|
|
JPI$M_PASSWORD_WARNING
|
System gave the user a warning at login that the account's primary
password would expire within 5 days.
|
|
JPI$M_PASSWORD2_CHANGED
|
Account's secondary password was changed during login.
|
|
JPI$M_PASSWORD2_EXPIRED
|
Account's secondary password expired during login.
|
|
JPI$M_PASSWORD2_WARNING
|
System gave the user a warning at login that the account's secondary
password would expire within 5 days.
|
JPI$_LOGINTIM
Returns the time at which the process was created, which is a standard
64-bit absolute time.
JPI$_MASTER_PID
Returns the process identification (PID) of the master process in the
job. The PID is a longword hexadecimal value.
JPI$_MAXDETACH
Returns the maximum number of detached processes allowed for the user
who owns the process specified in the call to $GETJPI. This limit is
set in the UAF record of the user. The number is returned as a word
decimal value. A value of 0 means that there is no limit on the number
of detached processes for that user name.
JPI$_MAXJOBS
Returns the maximum number of active processes allowed for the user who
owns the process specified in the call to $GETJPI. This limit is set in
the UAF record of the user. The number is returned as a word decimal
value. A value of 0 means that there is no limit on the number of
active processes for that user name.
JPI$_MEM
Returns the member number of the process's UIC, which is a longword
integer value.
JPI$_MODE
Returns the mode of the process, which is a longword integer value. The
symbolic name and value for each mode are listed in the following
table. The $JPIDEF macro defines the symbolic names.
| Mode Name |
Value |
|
JPI$K_OTHER
|
0
|
|
JPI$K_NETWORK
|
1
|
|
JPI$K_BATCH
|
2
|
|
JPI$K_INTERACTIVE
|
3
|
JPI$_MSGMASK
Returns the default message mask of the process, which is a longword
bit mask.
JPI$_MULTITHREAD
On Alpha and I64 systems, returns the maximum kernel thread count
allowed for the target process, which is a longword integer value.
JPI$_NODENAME
Returns, as a character string, the name of the OpenVMS Cluster node on
which the process is running.
JPI$_NODE_CSID
Returns, as a longword hexadecimal integer, the cluster ID of the
OpenVMS Cluster node on which the process is running.
JPI$_NODE_VERSION
Returns, as a character string, the operating system version number of
the OpenVMS Cluster node on which the process is running.
JPI$_OWNER
Returns the process identification (PID) of the process that created
the specified process. The PID is a longword hexadecimal value.
JPI$_PAGEFLTS
Returns the total number of page faults incurred by the process. This
is a longword integer value.
JPI$_PAGFILCNT
Returns the remaining paging file quota of the process, which is a
longword integer value, measured in pages (on VAX systems) or pagelets
(on Alpha and I64 systems).
JPI$_PAGFILLOC
Returns the current paging file assignment of the process. The fourth
byte of the returned longword value is the index of the system page
file to which the process is currently assigned.
JPI$_PARSE_STYLE_IMAGE
On Alpha and I64 systems, set by $SET_PROCESS_PROPERTIESW, and can be
either PARSE_STYLE$C_TRADITIONAL or PARSE_STYLE$C_EXTENDED (located in
PPROPDEF). The return length is one byte.
JPI$_PARSE_STYLE_PERM
On Alpha and I64 systems, set by $SET_PROCESS_PROPERTIESW, and can be
either PARSE_STYLE$C_TRADITIONAL or PARSE_STYLE$C_EXTENDED (located in
PPROPDEF). The return length is one byte.
JPI$_PERMANENT_AFFINITY_MASK
On Alpha and I64 systems, returns the permanent explicit affinity mask
for the associated kernel thread.
JPI$_PERMANENT_USERCAP_MASK
On Alpha and I64 systems, returns the permanent user capability mask
for the associated kernel thread.
JPI$_PERSONA_AUTHPRIV
On Alpha and I64 systems, returns the authorized privilege mask of the
persona.
These privileges are returned in a quadword privilege mask and are
defined by the $PRVDEF macro.
JPI$_PERSONA_ID
On Alpha and I64 systems, returns, as a longword integer, the ID of the
persona.
JPI$_PERSONA_PERMPRIV
On Alpha and I64 systems, returns the permanent (default) privilege
mask of the persona. These privileges are returned in a quadword
privilege mask and are defined by the $PRVDEF macro.
JPI$_PERSONA_RIGHTS
On Alpha and I64 systems, returns the binary content of the persona
rights list as an array of quadword identifiers. Each entry consists of
a longword identifier value and longword identifier attributes, as
listed in Table SYS-43. The persona rights list is a set of
identifiers associated with the process.
JPI$_PERSONA_RIGHTS_SIZE
On Alpha and I64 systems, returns a longword integer containing the
number of bytes needed to store the persona rights.
JPI$_PERSONA_WORKPRIV
On Alpha and I64 systems, returns the privilege mask of the working
(active) persona. These privileges are returned in a quadword privilege
mask and are defined by the $PRVDEF macro.
JPI$_PGFLQUOTA
Returns the paging file quota (maximum virtual page count) of the
process, which is a longword integer value, measured in pages (on VAX
systems) or pagelets (on Alpha and I64 systems).
JPI$_PHDFLAGS
Returns the process header flags as a longword bit vector.
JPI$_PID
Returns the process identification (PID) of the process. The PID is a
longword hexadecimal value.
JPI$_P0_FIRST_FREE_VA_64
On Alpha and I64 systems, this item code returns the 64-bit virtual
address of the first free page at the end of the program region (P0
space) of the process.
Because this number is a quadword, the buffer length field in the item
descriptor should specify 8 (bytes).
JPI$_P1_FIRST_FREE_VA_64
On Alpha and I64 systems, this item code returns the 64-bit virtual
address of the first free page at the end of the control region (P1
space) of the process.
Because this number is a quadword, the buffer length field in the item
descriptor should specify 8 (bytes).
JPI$_P2_FIRST_FREE_VA_64
On Alpha and I64 systems, this item code returns the 64-bit virtual
address of the first free page at the end of P2 space of the process.
Because this number is a quadword, the buffer length field in the item
descriptor should specify 8 (bytes).
JPI$_PPGCNT
Returns the number of pages (on VAX systems) or pagelets (on Alpha and
I64 systems) the process has in the working set. This is a longword
integer value.
JPI$_PRCCNT
Returns, as a longword integer value, the number of subprocesses
created by the process. The number returned by JPI$_PRCCNT does not
include any subprocesses created by subprocesses of the process named
in the procnam argument.
JPI$_PRCLM
Returns the subprocess quota of the process, which is a longword
integer value.
JPI$_PRCNAM
Returns, as a character string, the name of the process. Because the
process name can include up to 15 characters, the buffer length field
of the item descriptor should specify at least 15 bytes.
JPI$_PRI
Returns the current priority of the process, which is a longword
integer value.
JPI$_PRIB
Returns the base priority of the process, which is a longword integer
value.
JPI$_PROCESS_RIGHTS
Returns the binary content of the process rights list as an array of
quadword identifiers. Each entry consists of a longword identifier
value and longword identifier attributes, as shown in Table SYS-43.
Allocate a buffer that is sufficient to hold the process rights list
because $GETJPI returns only as much of the list as will fit in the
buffer.
JPI$_PROC_INDEX
Returns, as a longword integer value, the process index number of the
process. The process index number is a number between 1 and the system
parameter MAXPROCESSCNT, which identifies the process. Although process
index numbers are reassigned to different processes over time, at any
one instant, each process in the system has a unique process index
number.
You can use the process index number as an index into system global
sections. Because the process index number is unique for each process,
its use as an index into system global sections guarantees no
collisions with other system processes accessing those sections.
The process index is intended to serve users who formerly used the
low-order word of the PID as an index number.
JPI$_PROCPRIV
Returns the default privileges of the process in a quadword bit mask.
JPI$_RIGHTSLIST
Returns, as an array of quadword identifiers, all identifiers
applicable to the process. This includes the process rights list
(JPI$_PROCESS_RIGHTS) and the system rights list (JPI$_SYSTEM_RIGHTS).
Each entry consists of a longword identifier value and longword
identifier attributes, shown in Table SYS-43. Allocate a buffer that
is sufficient to hold the rights list because $GETJPI returns only as
much of the list as will fit in the buffer.
JPI$_RIGHTS_SIZE
Returns the number of bytes required to buffer the rights list. The
rights list includes both the system rights list and the process rights
list. Because the space requirements for the rights list can change
between the time you request the size of the rights list and the time
you fetch the rights list with JPI$_RIGHTSLIST, you might want to
allocate a buffer that is 10 percent larger than this item indicates.
JPI$_RMS_DFMBC
Returns the default multiblock count.
JPI$_RMS_DFMBFIDX
Returns the default multibuffer count for local buffers for indexed
file operations.
JPI$_RMS_DFMBFREL
Returns the default multibuffer count for local buffers for relative
file operations.
JPI$_RMS_DFMBFSDK
Returns the default multibuffer count for local buffers for sequential
file operations on disk.
JPI$_RMS_DFMBFSMT
Returns the default multibuffer count for local buffers for sequential
file operations on magnetic tape.
JPI$_RMS_DFMBFSUR
Returns the default multibuffer count for file operation on unit record
devices.
JPI$_RMS_DFNBC
Returns the default block count for local buffers for network access to
remote files.
JPI$_RMS_EXTEND_SIZE
Returns the default number of blocks used to extend a sequential file.
JPI$_RMS_FILEPROT
Returns the default file protection.
JPI$_RMS_PROLOGUE
Returns the default prolog level for indexed files.
JPI$_SCHED_POLICY
On Alpha and I64 systems, returns the current scheduling policy of the
specified process. Definitions of the policy values are in the $JPIDEF
macro. The buffer length of the item descriptor should specify 4
(bytes).
JPI$_SHRFILLM
Returns the maximum number of open shared files allowed for the job to
which the process specified in the call to $GETJPI belongs. This limit
is set in the UAF record of the user who owns the process. The number
is returned as a word decimal value. A value of 0 means that there is
no limit on the number of open shared files for that job.
JPI$_SITESPEC
Returns the per-process, site-specific longword, which is a longword
integer value.
JPI$_SLOW_VP_SWITCH
On VAX systems, returns an unsigned longword containing the number of
times this process has issued a vector instruction that resulted in an
inactive vector processor being enabled with a full vector context
switch. This vector context switch involves the saving of the vector
context of the process that last used the vector processor and the
restoration of the vector context of the current process.
JPI$_STATE
Returns the state of the process, which is a longword integer value.
Each state has a symbolic representation. If the process is currently
executing, its state is always SCH$K_CUR. STATEDEF defines the
following symbols, which identify the various possible states:
| State |
Description |
|
SCH$C_CEF
|
Common event flag wait
|
|
SCH$C_COM
|
Computable
|
|
SCH$C_COMO
|
Computable, out of balance set
|
|
SCH$C_CUR
|
Current process
|
|
SCH$C_COLPG
|
Collided page wait
|
|
SCH$C_FPG
|
Free page wait
|
|
SCH$C_HIB
|
Hibernate wait
|
|
SCH$C_HIBO
|
Hibernate wait, out of balance set
|
|
SCH$C_LEF
|
Local event flag wait
|
|
SCH$C_LEFO
|
Local event flag wait, out of balance set
|
|
SCH$C_MWAIT
|
Mutex and miscellaneous resource wait
|
|
SCH$C_PFW
|
Page fault wait
|
|
SCH$C_SUSP
|
Suspended
|
|
SCH$C_SUSPO
|
Suspended, out of balance set
|
JPI$_STS
Returns the first longword of the process status flags, which are
contained in a longword bit vector. PCBDEF definitions include the
following symbols for these flags:
| Symbol |
Description |
|
PCB$V_ASTPEN
|
AST pending
|
|
PCB$V_BATCH
|
Process is a batch job
|
|
PCB$V_DELPEN
|
Delete pending
|
|
PCB$V_DISAWS
|
Disable automatic working set adjustment
|
|
PCB$V_FORCPEN
|
Force exit pending
|
|
PCB$V_HARDAFF
|
Process bound to a particular CPU
|
|
PCB$V_HIBER
|
Hibernate after initial image activate
|
|
PCB$V_INQUAN
|
Initial quantum in progress
|
|
PCB$V_INTER
|
Process is an interactive job
|
|
PCB$V_LOGIN
|
Log in without reading authorization file
|
|
PCB$V_NETWRK
|
Process is a network connect object
|
|
PCB$V_NOACNT
|
No accounting for process
|
|
PCB$V_NODELET
|
No delete
|
|
PCB$V_PHDRES
|
Process header resident
|
|
PCB$V_PREEMPTED
|
Kernel mode suspend has overridden supervisor mode suspend
|
|
PCB$V_PSWAPM
|
Process swap mode (1=noswap)
|
|
PCB$V_PWRAST
|
Power fail AST
|
|
PCB$V_RECOVER
|
Process can recover locks
|
|
PCB$V_RES
|
Resident, in balance set
|
|
PCB$V_RESPEN
|
Resume pending, skip suspend
|
|
PCB$V_SECAUDIT
|
Mandatory security auditing
|
|
PCB$V_SOFTSUSP
|
Process is in supervisor mode suspend
|
|
PCB$V_SSFEXC
|
System service exception enable (kernel)
|
|
PCB$V_SSFEXCE
|
System service exception enable (exec)
|
|
PCB$V_SSFEXCS
|
System service exception enable (super)
|
|
PCB$V_SSFEXCU
|
System service exception enable (user)
|
|
PCB$V_SSRWAIT
|
System service resource wait disable
|
|
PCB$V_SUSPEN
|
Suspend pending
|
|
PCB$V_WAKEPEN
|
Wake pending, skip hibernate
|
|
PCB$V_WALL
|
Wait for all events in mask
|
JPI$_STS2
Returns the second longword of the process status flags, which are
contained in a longword bit vector. PCBDEF defines the following symbol
for these flags:
| Symbol |
Description |
|
PCB$V_NOUNSHELVE
|
Process does not automatically unshelve files.
|
JPI$_SUBSYSTEM_RIGHTS
On Alpha and I64 systems, returns the binary content of the subsystem
rights list as an array of quadword identifiers. Each entry consists of
a longword identifier value and longword identifier attributes, as
listed in Table SYS-43. The subsystem rights list is a set of
identifiers associated with a protected subsystem image.