FTAM/9000 Programmer's Guide
396 Chapter 10
Example Programs
Common Code Example
/* Get the parameters for ft_deselect.
** Call ft_deselect and verify the outcome.
*/
des_parm_in( & return_event_name, & des_input_dcb, & des_inout_dcb );
res = ft_deselect(conn_id[i], return_event_name, des_input_dcb,
& des_inout_dcb);
if (res != SUCCESS)
error_handler(des_inout_dcb-result, des_inout_dcb-diagnostic);
/*
** Get the parameters for ft_egroup.
** Call ft_egroup and verify the outcome.
*/
egr_parm_in( & return_event_name, & egr_input_dcb, & egr_inout_dcb );
res = ft_egroup(conn_id[i], return_event_name, egr_input_dcb,
& egr_inout_dcb);
if (res != SUCCESS)
error_handler(egr_inout_dcb-result, diag);
/*
** Wait on the asynchronous events in the group.
*/
for (j = 1; j %<= 3; ++j) {
wait_parm_in( & time, & result );
res = em_wait(time, & return_event_name, & result);
if (res != SUCCESS)
error_handler(result, diag);
switch (return_event_name) {
case 1:
if (bgr_inout_dcb-result.return_code != SUCCESS)
error_handler(bgr_inout_dcb-result, diag);
break;
case 2:
if (clo_inout_dcb-result.return_code != SUCCESS)
error_handler(clo_inout_dcb-result,
clo_inout_dcb-diagnostic);
break;
case 3:
if (des_inout_dcb-result.return_code != SUCCESS)
error_handler(des_inout_dcb-result,
des_inout_dcb-diagnostic);
break;
default:
break;
}
}
/*
** Free memory.
*/
res = ft_dfdcb((Octet *)bgr_inout_dcb, & outcome);
if (res != SUCCESS)
error_handler(outcome, diag);
res = ft_dfdcb((Octet *)clo_inout_dcb, & outcome);
if (res != SUCCESS)
error_handler(outcome, diag);
res = ft_dfdcb((Octet *)des_inout_dcb, & outcome);
if (res != SUCCESS)
error_handler(outcome, diag);
res = ft_dfdcb((Octet *)egr_inout_dcb, & outcome);
if (res != SUCCESS)
error_handler(outcome, diag);
}