On Alpha systems, unwinds the call stack. On Integrity server systems, do not use this service; use $GOTO_UNWIND_64 instead. Format SYS$GOTO_UNWIND target_invo ,target_pc ,[new_r0] ,[new_r1] C Prototype int sys$goto_unwind (void *target_invo, void *(*(target_pc)), unsigned __int64 *new_r0, unsigned __int64 *new_r1);
1 – Arguments
target_invo OpenVMS usage:invo_handle type: longword (unsigned) access: read only mechanism: by reference The address of a location that contains a handle for the target invocation. If you do not specify the target_invo argument, or if the handle value is 0, an exit unwind is initiated. target_pc OpenVMS usage:address type: longword (unsigned) access: read only mechanism: by reference The address of a location that contains the address at which execution should continue in the target invocation. If the target_pc argument is omitted or the value is 0, a system- defined target PC is assumed and execution resumes at the location specified at the return address for the call frame of the target procedure invocation. new_r0 OpenVMS usage:quadword_unsigned type: quadword (unsigned) access: read only mechanism: by reference The address of a location that contains the value to place in the saved R0 location of the mechanism argument vector. The contents of this location are then loaded into the processor R0 register at the time that execution continues in the target invocation. If the new_r0 argument is omitted, the contents of the processor R0 register at the time of the call to $GOTO_UNWIND are used. new_r1 OpenVMS usage:quadword_unsigned type: quadword (unsigned) access: read only mechanism: by reference Address of a location that contains the value to place in the saved R1 location of the mechanism argument vector. The contents of the location are then loaded into the processor R1 register at the time that execution continues in the target invocation. If the new_r1 argument is omitted, the contents of the processor R1 register at the time of the call to $GOTO_UNWIND are used.