|
|
Coerces an expression into a LGRP logical code pointer (LCPTR).
Syntax
lgrp (value)
During the evaluation of the parameter to this function, the search path used
for procedure name lookups is limited to the logon group library file
(LGRP).
Formal Declaration
lgrp:lgrp (value:any)
Parameters
- value
An expression to be coerced. All types are valid.
Table 10-6 Derivation of the LGRP Bit Pattern
Parameter Type |
Action |
BOOL | 0.1 if TRUE, 0.0 if FALSE. |
U16 U32 SPTR | Set the SID part to zero. Right
justify the original value in the low-order 32 bits of the offset part with
zero fill. |
S16 S32 S64 | Set the SID part to zero. Right
justify the original value in the low-order 32 bits of the offset part with
sign extension. |
LONG Class | Transfer both parts of the address
unchanged. |
EADDR SADDR | Transfer the SID part unchanged.
Transfer the low-order 32 bits of the offset part. |
STR | Transfer the ASCII bit pattern for the last eight
characters in the string. Strings shorter than eight characters are treated
as if they were extended on the left with nulls. |
Examples
%cmdebug > wl lgrp(12.304)
LGRP %12.304
Coerce the simple long pointer into a LGRP logical code pointer.
%cmdebug > wl lgrp( sort )
LGRP %0.6412
Print the address of the procedure named sort. Note that the search
path used for procedure name lookups is restricted to the logon group library
(LGRP).
%cmdebug > wl lgrp(sys(24.630))
LGRP %24.630
The coercion simply changes the associated logical file. The
pointer's bit pattern remains unchanged.
$nmdat > wl lgrp( 1 )
LGRP $0.1
$nmdat > wl lgrp( ffff )
LGRP $0.ffff
$nmdat > wl lgrp( 1234abcd )
LGRP $0.1234abcd
$nmdat > wl lgrp( -1 )
LGRP $0.ffffffff
$nmdat > wl lgrp( 1234.5678 )
LGRP $1234.5678
$nmdat > wl lgrp( true )
LGRP $0.1
$nmdat > wl lgrp( "ABCDEFG" )
LGRP $414243.44454647
$nmdat > wl lgrp( prog(1.2) )
LGRP $1.2
Limitations, Restrictions
none
|