Document revision date: 30 March 2001
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS Alpha Guide to Upgrading Privileged-Code Applications


Previous Contents Index


GET_CURKTB Macro

Obtains the current process or thread KTB address. Applicable to BLISS, C, and MACRO-32. The following three command formats are for BLISS, C, and MACRO-32, respectively.

Format

GET_CURKTB;

GET_CURKTB()

GET_CURKTB ktbreg , pcbreg, [preserve][test_multi=yes]


Arguments

ktbreg



This argument is the destination to return the KTB address. The default is R14.

pcbreg



This argument is the register containing the address of the PCB. The default is R14.

preserve



This argument is optional. The default is YES to preserve R0 and R1. Otherwise, it is NO.

test_multi



This argument is optional. The default is YES to test and validate if there is more than one KTB. If NO, it is assumed that the process is already known to be multithreaded.

Description

The GET_CURKTB macro obtains the current process or thread KTB address.

CVT_IPID_TO_PCB_KTB Macro

Converts a PID to PCB and KTB addresses. Applicable to MACRO-32 only.

Format

CVT_IPID_TO_PCB_KTB ipid ,ktbreg ,pcbreg ,fail


RETURNS


OpenVMS usage cond_value
type longword (unsigned)
access write only
mechanism by value

Status indicating the success or failure of the operation.


Arguments

ipid



This argument provides the internal PID to be converted.

ktbreg



This argument is the destination to return the KTB address. The default is R14.

pcbreg



This argument provides the register which returns the PCB. The default is R14.

preserve



This argument is not used by this macro but is passed to CVT_IPID_TO_KTB to indicate whether to preserve R0 and R1.

fail



This argument provides the address to transfer control if the ipid argument is not valid. If this transfer is taken, R0 contains one of the status values in the Return Values section.

Description

The CVT_IPID_TO_PCB_KTB macro converts a PID to PCB and KTB addresses. This macro applies to MACRO-32 only.

Return Values

SS$_NONEXPR The process does not exist.
SS$_NOSUCHTHREAD The process exists but the thread does not.

CVT_IPID_TO_KTB Macro

Converts a PID to a KTB address. Applies to MACRO-32 only.

Format

CVT_IPID_TO_KTB ipid ,ktbreg ,pcbreg ,perserve ,fail


RETURNS


OpenVMS usage cond_value
type longword (unsigned)
access write only
mechanism by value

Status indicating the success or failure of the operation.


Arguments

ipid



This argument provides the internal PID to be converted.

ktbreg



This argument provides the register that returns the KTB. The default is R14.

pcbreg



This argument provides the register which holds the PCB. The default is R14.

preserve



This argument's default is YES to save R0 and R1.

fail



This argument provides the address to transfer control if the ipid argument is not valid. If this transfer is taken, R0 contains one of the status values in the Return Values section.

Description

The CVT_IPID_TO_KRB macro converts a PID to a KTB address. This macro applies to MACRO-32 only.

Return Values

SS$_NONEXPR The process does not exist.
SS$_NOSUCHTHREAD The process exists but the thread does not.


Index Contents

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
6466PRO_011.HTML