OSI/AS Programming Manual
Example 2: Presentation Layer and ACSE
Sample Programs
056783 Tandem Computers Incorporated E–47
-- Set up ACSE release response user data.
-- Normally, this would be generated by an ASN.1 compiler.
--
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
, "releasersp" -- data
] -> @user_data_ptr;
user_data.element.zlen :=
@user_data_ptr - @user_data.value;
--
-- Issue ACSE release response.
--
release_result := ZAPS^VAL^RLS^ACCEPT;
acse_release_reason := ZAPS^VAL^RLS^NOVALUE;
print_aps( "APPL1: release response ->" );
status := APS_ASSOC_RELEASERSP_( cepi
, release_result
, user_data
, ! tag !
, acse_release_reason
);
IF ( status <> ZAPS^VAL^STATUS^OK ) THEN
CALL display_aps_status( error_releasersp_proc );
--
-- Delete the API context information.
--
print_aps( "APPL1: discard" );
status := APS_DISCARD_( cepi );
IF ( status <> ZAPS^VAL^STATUS^OK ) THEN
CALL display_aps_status( error_discard_proc );
print_aps( "APPL1: complete" );
END; -- proc sample_osias_appl_1 (main)
C Version
#pragma INSPECT, SYMBOLS
#pragma PAGE "OSI/AS Sample Program 2 (Application 1)"
/* */
/* File: EXAPSC2A */
/* */
/* OSI/AS Sample Program 2 (Application 1) */