#include <miptrnam.h> #include <qliept.h>

/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/

/\Prototypes\/ /\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/ typedef void Pgm_OS(void \arg,...);

#pragma linkage(Pgm_OS,OS)

/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/

/\Structures\/ /\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/

typedef struct {

/\ Error code

\/

Qus_EC_t ec_fields;

 

 

char

exception_data[1ðð];

 

 

} error_code_struct;

/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/

/\

FUNCTION NAME:

RSLVSP_PGM_HDLR

\/

/\

 

 

\/

/\

FUNCTION :

This function handles all exceptions that

\/

/\

 

may occur while resolving to the exit

\/

/\

 

program.

\/

/\

 

 

\/

/\

INPUT:

Interrupt handler information

\/

/\

 

 

\/

/\

OUTPUT:

NONE

\/

/\

 

 

\/

/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/ void RSLVSP_PGM_HDLR(_INTRPT_Hndlr_Parms_T \errmsg)

{

error_code_struct Error_Code;

/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/

/\ Set the rsl_ok indicator to not valid.\/ /\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/ int \rsl_ok = (int \)(errmsg→Com_Area);

\rsl_ok = ð;

/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/ /\ Let message handler know that the program handled the me￿ssage \/

/\ and to remove it from the job log.\/ /\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/ Error_Code.ec_fields.Bytes_Provided=ð; QMHCHGEM(&(errmsg→Target),

ð,

(char \)&errmsg→Msg_Ref_Key, "\REMOVE ",

"",

ð,

&Error_Code);

}

/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/

/\

FUNCTION NAME: Call_Exit_Program

\/

/\

 

\/

4-14System API Programming V4R1

Page 104
Image 104
IBM Version 4 manual Rslvsppgmhdlr Function, Input, Output None