The user-written USER routine allows your program to take control during a TPU editing session (for example, to leave the editor temporarily and perform a calculation). Format USER integer ,stringin ,stringout
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value Longword condition value.
2 – Arguments
integer OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by reference First parameter to the built-in procedure CALL_USER. This is an input-only parameter and must not be modified. stringin OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor Second parameter to the built-in procedure CALL_USER. This is an input-only parameter and must not be modified. stringout OpenVMS usage:char_string type: character string access: modify mechanism: by descriptor Return value for the built-in procedure CALL_USER. Your program should fill in this descriptor with a dynamic string allocated by the string routines (such as LIB$SGET1_DD) provided by the Run- Time Library. The TPU editor frees this string when necessary.
3 – Description
This user-written routine is invoked by the TPU built-in procedure CALL_USER. The built-in procedure CALL_USER passes three parameters to this routine. These parameters are then passed to the appropriate part of your application to be used as specified. (For example, they can be used as operands in a calculation within a Fortran program.) Using the string routines provided by the Run-Time Library, your application fills in the stringout parameter in the call-user routine, which returns the stringout value to the built-in procedure CALL_USER. The description of the built-in procedure CALL_USER in the DEC Text Processing Utility Reference Manual shows an example of a BASIC program that is a call-user routine.