gtpc2m68C/C++ Language Support User's Guide

serrc_op_ext-Issue System Error Extended: Operational

This function causes a storage dump to be issued by the system error routine, and may optionally display a message at prime CRAS. The ECB may be exited if desired. The serrc_op_ext function allows a prefix character to be concatenated with the system error number; therefore, you can distinguish between IBM calls and user calls that code the same system error number.

Format

#include <tpfapi.h>
void     serrc_op_ext(enum t_serrc status, int number, const char *msg,
                      char prefix, struct serrc_list **list);

status
The status of the ECB following the dump. This argument must belong to enumeration type t_serrc, which is defined in tpfapi.h. Code the defined term SERRC_EXIT to force the ECB to exit, SERRC_RETURN to cause a return to the calling program, or SERRC_CATA to cause a catastrophic error.

number
The identification number for the dump. This argument is an integer and should be a unique number ranging from 1 to X'FFFFFF'.

msg
This argument is a pointer to type char, which is a message text string to be displayed at the CRAS console and appended to the dump. This string must be terminated by a \0 and must not exceed 255 characters. Strings longer than 255 characters are truncated at the 255th character. If no message is desired, code the defined term NULL.

prefix
This argument is an uppercase alphabetic character that is concatenated with the system error number in the console message and in the dump. You can use any uppercase alphabetic characters in the following ranges: A-H and J-V. The letters I and W--Z are reserved for IBM use. If a NULL prefix is given then the prefix will be U.

list
This argument is a pointer to a pointer of type struct serrc_list, indicating areas of storage to be displayed in the dump. The serrc_list structure has the following fields:

serrc_len
Type short int, the length of the area to be dumped. Code zero for serrc_len to indicate no more areas are to be dumped.

serrc_name
Character string, the name of the data area. serrc_name must be 8 characters long, left justified, and padded with blanks.

serrc_tag
The location of the area to be dumped.

serrc_indir
Whether the address in serrc_tag is an indirection. To indicate an indirection, code the defined term SERRC_INDIR. If serrc_tag is not an indirection, code the defined term SERRC_NOINDIR.

If no storage list exists, code the defined term NULL.

Note:
There is a limit of 50 entries in the serrc_list pointer.

Normal Return

Void.

Error Return

Not applicable.

Programming Considerations

The serrc_list structure may only contain a maximum of 50 list elements. If this limit is exceeded a system error will be issued and the ECB will be exited.

Examples

The following example forces a storage dump bearing ID number A012345 (A is the prefix) to be issued. The control returns to the program following the dump. The message, ERROR OCCURRED, is displayed at the prime CRAS and is appended to the dump.

#include <tpfapi.h>

  ·
  ·
  ·
serrc_op_ext(SERRC_RETURN,0x12345,"ERROR OCCURRED",'A',NULL);

Related Information