OSI/AS Programming Manual
Example 2: Presentation Layer and ACSE
Sample Programs
E–76 056783 Tandem Computers Incorporated
--
user_data.header.znum^elements := 1;
user_data.element.ztype := ZAPS^VAL^DATA^TYPE^VALUE;
user_data.element.zpcid := 1; -- ignored by ACSE
user_data.value ':='
[ %H28 -- EXTERNAL
, 17 -- length
, %H02 -- INTEGER
, 1 -- length of INTEGER
, 1 -- pcid
, %H80 -- single-asn1-type
, 12 -- length of user-info
, %H04 -- octet string
, 10 -- length of octet string
, "releasereq" -- data
] -> @user_data_ptr;
user_data.element.zlen :=
@user_data_ptr - @user_data.value;
--
-- Issue ACSE release response.
--
acse_release_reason := ZAPS^VAL^RLS^RSN^NORMAL;
print_aps( "APPL2: release request <-" );
tag := $UDBL( error_releasereq_proc );
status := APS_ASSOC_RELEASEREQ_( cepi
, user_data
, tag
, acse_release_reason
);
CALL wait_for_aps_completion( error_releasereq_proc );
IF ( status <> ZAPS^VAL^STATUS^OK ) THEN
CALL display_aps_status( error_releasereq_proc );
--
-- Wait for ACSE release confirm.
--
CALL wait_for_event( ZAPS^VAL^EVT^RELEASE^CNF );
--
-- Get the ACSE release reason and release result.
--
error :=
APS_ASSOC_GETPARAM_( cepi
, ! conid !
, ! local-appl !
, ! remote-appl !
, ! connect-result !
, ! session-rqmnts !
, release_result
, ! abort-reason !
, ! mode !
, ! pres-context-list !
, ! pres-context-result-list !
, ! pres-default-context-name !
, ! pres-default-context-result !