OSI/AS Programming Manual
Example 1: Session Layer
Sample Programs
E–30 056783 Tandem Computers Incorporated
 release_result = ZAPS_VAL_RLS_ACCEPT;
 printf( "APPL2: release response\n" );
 status = APS_ASSOC_RELEASERSP_( cepi_2
 , release_result
 , (int *) &user_data_2
 );
 if ( status != ZAPS_VAL_STATUS_OK )
 display_aps_status( cepi_2, error_releasersp_proc );
 /* */
 /* APPLICATION 1 */
 /* Wait for release confirm */
 /* */
 wait_for_event( cepi_1, ZAPS_VAL_EVT_RELEASE_CNF );
 /* */
 /* Get parameters of the release confirm. */
 /* */
 error =
 APS_ASSOC_GETPARAM_( cepi_1
 , /* conid */
 , /* local-appl */
 , /* remote-appl */
 , /* connect-result */
 , /* session-rqmnts */
 , &release_result
 , /* abort-reason */
 );
 if ( error != ZAPS_ERR_OK ||
 release_result != ZAPS_VAL_RLS_ACCEPT )
 display_aps_error( error_assoc_getparam_proc );
 /* */
 /* Get release confirm user data. */
 /* */
 retrieve_user_data( cepi_1 );
 /* */
 /* APPLICATION 1 and APPLICATION 2 */
 /* Delete the API context information. */
 /* */
 printf( "APPL1: discard\n" );
 status = APS_DISCARD_( cepi_1 );
 if ( status != ZAPS_VAL_STATUS_OK )
 display_aps_status( cepi_1, error_discard_proc );
 printf( "APPL2: discard\n" );
 status = APS_DISCARD_( cepi_2 );
 if ( status != ZAPS_VAL_STATUS_OK )
 display_aps_status( cepi_2, error_discard_proc );
 printf( "sample 1 program complete\n" );
} /* proc sample_1_osias (main) */










