record("handler: Escape message not found\n");
} else {
record("handler: Escape message:\n");
buffer(rtvm0100.Message, rtvm0100.Length_Message_Returned);
} /* endelse */
/********************************************************************/
/* Delete message from job log if caller so desires (flag indicator)*/
/********************************************************************/
if (fRemoveEscapeMsg) {
record("handler: Remove escape message from job log\n");
memset(&esErrCode, 0x00, sizeof(esErrCode));
esErrCode.Bytes_Provided = sizeof(esErrCode);/* Ignore exceptions */
QMHCHGEM(&Signal.Target, 0, &Signal.Msg_Ref_Key, "*REMOVE ",
"", 0, &esErrCode);
} else {
record("handler: Escape message not removed from job log\n");
record("handler: Reset signals -> handler\n");
signal(SIGALL, &handler);
return;
}
Figure 302. Sample WSG Server Logon Exit Program (Part 43 of 50)
/* Function Specification *********************************************/
/* */
/* Function Name: cl_command */
/* */
/* Descriptive Name: run any CL command as if on a command line. */
/* */
/* char * Command - null terminated string */
/* */
/* End Function Specification *****************************************/
void cl_command(char *Command) /* Entry point */
{
/********************************************************************/
/* Local Variables */
/********************************************************************/
ERRSTRUCT esErrCode;
Qca_PCMD_CPOP0100_t cpop0100;
char cpop0100_out[512];
int cpop0100_len;
Figure 302. Sample WSG Server Logon Exit Program (Part 44 of 50)
Appendix E. TCP/IP Application Exit Points and Programs 591