IBM Version 4 Universal Remote User Manual


 
/ᑍ can be used for FFDC. ᑍ/
/ᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍ/
#pragma exception_handler (UNEXPECTED_HDLR, ffdc_info, , _C2_MH_ESCAPE)
/ᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍ/
/ᑍ Set the pointer to null, then try to increment. This will ᑍ/
/ᑍ generate an MCH361 error that will be trapped by the ᑍ/
/ᑍ unexpected handler. ᑍ/
/ᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍ/
nulptr = NULL;
nulptr++;
#pragma disable_handler
} /ᑍ main ᑍ/
/ᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍ/
/ᑍ FUNCTION NAME: UNEXPECTED_HDLR ᑍ/
/ᑍ ᑍ/
/ᑍ FUNCTION: Handle unexpected exception. This exception ᑍ/
/ᑍ handler is used to log the software error via ᑍ/
/ᑍ FFDC. ᑍ/
/ᑍ ᑍ/
/ᑍ INPUT: Interrupt handler information ᑍ/
/ᑍ ᑍ/
/ᑍ OUTPUT: NONE ᑍ/
/ᑍ ᑍ/
/ᑍ EXCEPTIONS: CPFxxxx - All unexpected CPF exceptions ᑍ/
/ᑍ MCHxxxx - All unexpected MCH exceptions ᑍ/
/ᑍ ᑍ/
/ᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍ/
void UNEXPECTED_HDLR(_INTRPT_Hndlr_Parms_T ᑍerrmsg)
{
typedef struct {
char obj_name[3];
char obj_lib[3];
char obj_type[1];
} obj_info_t;
typedef struct {
int data_offset;
int data_length;
} data_info_t;
char pgm_suspected[1],
msg_id[12],
msg_key[4],
print_job_log,
data[2ᑍ(sizeof(char ᑍ))],
ᑍdata_item,
ile_mod_name[11];
int point_of_failure,
num_items,
num_objs;
data_info_t data_info[2];
obj_info_t obj_info[1];
6-4 System API Programming V4R1