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) */










