HP 3000 Manuals

func user [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

func user 

Coerces an expression into a USER library logical code pointer (LCPTR).

Syntax 

     user ([library] value)

Formal Declaration 

     user:user ([library:str="] value:any)

Parameters 

 library         If this value is provided, System Debug restricts
                 procedure name searches to the indicated executable
                 library.  This restriction remains in effect until the
                 function's parameters have been completely evaluated.
                 The program file's group and account are used to fully
                 qualify the library file name if needed.  The library
                 must have been loaded by the process.  If this parameter
                 is omitted, procedure name searches begin at the first
                 user library as specified in the LIBLIST= option of the
                 RUN command (if any).  Strings longer than valid file
                 names are truncated to the maximum file name string
                 length.

 value           An expression to be coerced.  All types are valid.

          Derivation of the USER Bit Pattern 

--------------------------------------------------------------------------------------------
|                           |                                                              |
|      Parameter Type       |                            Action                            |
|                           |                                                              |
--------------------------------------------------------------------------------------------
|                           |                                                              |
| BOOL                      | 0.1 if TRUE, 0.0 if FALSE.                                   |
|                           |                                                              |
--------------------------------------------------------------------------------------------
|                           |                                                              |
| U16                       | Set the high-order 32 bits (SID or segment part) to zero.    |
| S16                       | Right justify the original 16-bit value in the low-order 32  |
|                           | bits (offset part) with zero fill.                           |
|                           |                                                              |
--------------------------------------------------------------------------------------------
|                           |                                                              |
| U32                       | Set the high-order 32 bits (SID or segment part) to zero.    |
| S32                       | Transfer the original bit pattern into the low-order 32 bits |
| SPTR                      | (offset part) unchanged.                                     |
|                           |                                                              |
--------------------------------------------------------------------------------------------
|                           |                                                              |
| LPTR   SYS                | Transfer both parts of the address unchanged.                |
| PROG   USER               |                                                              |
| GRP    TRANS              |                                                              |
| PUB    CST                |                                                              |
| LGRP   CSTX               |                                                              |
| LPUB                      |                                                              |
|                           |                                                              |
--------------------------------------------------------------------------------------------
|                           |                                                              |
| 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 

     $nmdebug > wl user(,1c.304c) 
     USER $1c.304c

Coerce the simple long pointer into a USER logical code pointer.

     $nmdebug > wl user(,sys(24.630)) 
     USER $24.630

The coercion simply changes the associated logical file.  Note that no
complicated conversion or range checking is performed.

     $nmdebug > wl user("mylib.test" myproc ) 
     USER $3f.4c04

We asked for the address of the procedure myproc.  By providing a library
name, we restricted the search for the procedure to the executable
library named mylib.test.

Limitations, Restrictions 

none



MPE/iX 5.0 Documentation