OSI/AS Programming Manual

Example 1: Session Layer
Sample Programs
056783 Tandem Computers Incorporated E–15
, connect_result
, session_rqmnts_1
, conid_1
, user_data_1
);
IF ( status <> ZAPS^VAL^STATUS^OK ) THEN
CALL display_aps_status( cepi_1, error_connectrsp_proc );
--
-- APPLICATION 2.
-- Wait for connect confirm.
--
CALL wait_for_event( cepi_2, ZAPS^VAL^EVT^CONNECT^CNF );
--
-- Get the parameters of the connect confirm.
--
error :=
APS_ASSOC_GETPARAM_( cepi_2
, conid
, ! local-appl !
, remote_appl
, connect_result
, session_rqmnts
, ! release-result !
, ! abort-reason !
);
IF ( error <> ZAPS^ERR^OK ) OR
( connect_result <> ZAPS^VAL^CON^ACCEPT ) THEN
CALL display_aps_error( error_assoc_getparam_proc );
--
-- Get connect confirm user data.
--
CALL retrieve_user_data( cepi_2 );
--
-- APPLICATION 1
-- Data request
--
print_aps( "APPL1: data request" );
status := APS_DATA_REQ_( cepi_1
, user_data_1
);
IF ( status <> ZAPS^VAL^STATUS^OK ) THEN
CALL display_aps_status( cepi_1, error_datareq_proc );
--
-- APPLICATION 2
-- Wait for data indication.
--
CALL wait_for_event( cepi_2, ZAPS^VAL^EVT^DATA^IND );
--
-- Get the data.
-- This program assumes that its user^data structure is