OSI/AS Programming Manual

Example 1: Session Layer
Sample Programs
056783 Tandem Computers Incorporated E–23
, sizeof( user_data )
, (int *) &user_data
, &more_data
, &next_position
, start_position
);
if ( error != ZAPS_ERR_OK &&
error != ZAPS_ERR_NO_DATA )
display_aps_error( error_data_getparam_proc );
} /* proc retrieve_user_data */
#pragma PAGE
/*--------------------------------------------------------*/
/* */
/* wait for an event and make certain that it's the one */
/* that is expected. */
/* */
/*--------------------------------------------------------*/
void wait_for_event( cepi, expected_event_code )
int cepi; /* i : cepi to wait */
int expected_event_code; /* i : expected evt */
{
status = APS_EVENT_RECEIVE_( cepi
, timelimit
, /* tag */
);
if ( status != ZAPS_VAL_STATUS_EVENT )
display_aps_status( cepi, error_event_proc );
/* */
/* Find out which event was received. */
/* */
error = APS_STATUS_( cepi
, &event_code
, (int *) &device_name
, &error_code
, &error_subcode
, &service_id
, (int *) &diagnostic_buffer
, (int *) &original_error_info
);
if ( error != ZAPS_ERR_OK )
display_aps_error( error_status_proc );
/* */
/* Check for expected event. */
/* A real application would take appropriate action. */
/* */
if ( event_code != expected_event_code )
DEBUG();