! ******************************************************************************************************************************** ! Created: 12-JUN-2006 19:50:30 by OpenVMS SDL EV1-69 ! Source: 13-FEB-1997 16:43:12 $2$DUA315:[OSAK.V30_AXP_BUILDS.VT.TEMP.SRC]OSAK ! ******************************************************************************************************************************** !*** MODULE OSAK_DEFINITIONS IDENT V3-00 *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! Copyright Digital Equipment Corporation 1985,1995. All rights reserved. ! ! Restricted Rights: Use, duplication, or disclosure by the U.S. Government ! is subject to restrictions as set forth in subparagraph (c) (1) (ii) of ! DFARS 252.227-7013, or in FAR 52.227-19, or in FAR 52.227-14 Alt. III, as ! applicable. ! ! This software is proprietary to and embodies the confidential technology ! of Digital Equipment Corporation. Possession, use, or copying of this ! software and media is authorized only pursuant to a valid written license ! from Digital or an authorised sublicensor. ! ! ++ ! ! FACILITY: OSI Applications Kernel (OSAK) ! ! ABSTRACT: This file defines the common data structures ! used by the OSAK User Interfaces. ! ! -- ! Copyright Digital Equipment Corporation 1985,1995. All rights reserved. ! ! Restricted Rights: Use, duplication, or disclosure by the U.S. Government ! is subject to restrictions as set forth in subparagraph (c) (1) (ii) of ! DFARS 252.227-7013, or in FAR 52.227-19, or in FAR 52.227-14 Alt. III, as ! applicable. ! ! This software is proprietary to and embodies the confidential technology ! of Digital Equipment Corporation. Possession, use, or copying of this ! software and media is authorized only pursuant to a valid written license ! from Digital or an authorised sublicensor. ! STRUCTURE /osak_mem_descriptor/ INTEGER*4 size ! length of string in bytes INTEGER*4 pointer ! reference to string END STRUCTURE ! osak_mem_descriptor ! NSAP definition STRUCTURE /osak_nsap/ INTEGER*4 next ! Next nsap RECORD /osak_mem_descriptor/ id ! Address INTEGER*4 type ! N-protocol in OSAK encoded form END STRUCTURE ! osak_nsap ! Copyright Digital Equipment Corporation 1985,1995. All rights reserved. ! ! Restricted Rights: Use, duplication, or disclosure by the U.S. Government ! is subject to restrictions as set forth in subparagraph (c) (1) (ii) of ! DFARS 252.227-7013, or in FAR 52.227-19, or in FAR 52.227-14 Alt. III, as ! applicable. ! ! This software is proprietary to and embodies the confidential technology ! of Digital Equipment Corporation. Possession, use, or copying of this ! software and media is authorized only pursuant to a valid written license ! from Digital or an authorised sublicensor. ! ! ! OSAK status block ! STRUCTURE /osak_status_block/ INTEGER*4 osak_status_1 ! OSAK status INTEGER*4 osak_status_2 ! Secondary OSAK status INTEGER*4 transport_status_1 ! Transport Provider status INTEGER*4 transport_status_2 ! Secondary transport provider status END STRUCTURE ! osak_status_block ! ! Common service parameter types ! ! ** INTEGER*4 osak_port ! OSAK connection port ! ** INTEGER*4 osak_rtn ! ** INTEGER*4 osak_process_id ! ** INTEGER*4 osak_channels ! OSAK channels ! ! OSAK port list ! ! ** INTEGER*4 osak_port_list ! ! OSAK handle ! STRUCTURE /osak_handle/ INTEGER*4 id ! handle id BYTE request_mask ! request event mask BYTE returned_mask ! returned event mask INTEGER*2 filler END STRUCTURE ! osak_handle ! ** INTEGER*4 osak_handle_count ! ! OSAK time ! ! ** INTEGER*4 osak_time ! ! RFC1006 port ! ! ** INTEGER*4 osak_rfc1006_port ! ! Transport template names ! STRUCTURE /osak_transport_templates/ INTEGER*4 next ! Next element in the list RECORD /osak_mem_descriptor/ name ! Transport template name END STRUCTURE ! osak_transport_templates ! ! Presentation address ! STRUCTURE /osak_paddress/ RECORD /osak_mem_descriptor/ psel ! P SELECTOR RECORD /osak_mem_descriptor/ ssel ! S SELECTOR RECORD /osak_mem_descriptor/ tsel ! T SELECTOR RECORD /osak_nsap/ nsap ! NSAP END STRUCTURE ! osak_paddress ! ! Application Entity Invocation Identifier ! STRUCTURE /osak_aeiid/ RECORD /osak_mem_descriptor/ apiid ! AP Inv ID, TLV for ASN.1 INT RECORD /osak_mem_descriptor/ aeiid ! AE Inv ID, TLV for ASN.1 INT END STRUCTURE ! osak_aeiid ! ! Application Entity Title ! STRUCTURE /osak_ae_title/ RECORD /osak_mem_descriptor/ aptitle ! AP-Title, TLV for ASN.1 OBJ ID RECORD /osak_mem_descriptor/ ae_qualifier ! AE-Qualifier,TLV for ASN.1 INT END STRUCTURE ! osak_ae_title ! ! Application Entity Invocation ! STRUCTURE /osak_aei/ RECORD /osak_paddress/ paddress ! presentation address RECORD /osak_ae_title/ aetitle ! App Entity Title RECORD /osak_aeiid/ aeiid ! App Entity Invocation ID END STRUCTURE ! osak_aei ! ! ACSE Protocol version ! PARAMETER acsev_m_version1 = '00000001'X PARAMETER acsev_m_reserved = '000000FE'X STRUCTURE /osak_acse_version/ PARAMETER S_version1 = 1 PARAMETER V_version1 = 0 ! ACSE version 1 PARAMETER S_reserved = 7 PARAMETER V_reserved = 1 BYTE %FILL (1) ! reserved for future use END STRUCTURE ! osak_acse_version ! ! Presentation Protocol version ! PARAMETER pv_m_version1 = '00000001'X PARAMETER pv_m_reserved = '000000FE'X STRUCTURE /osak_pversion/ PARAMETER S_version1 = 1 PARAMETER V_version1 = 0 ! Presentation version 1 PARAMETER S_reserved = 7 PARAMETER V_reserved = 1 BYTE %FILL (1) ! reserved for future use END STRUCTURE ! osak_pversion ! ! Session Protocol version ! PARAMETER sv_m_version1 = '00000001'X PARAMETER sv_m_version2 = '00000002'X PARAMETER sv_m_reserved = '000000FC'X STRUCTURE /osak_sversion/ PARAMETER S_version1 = 1 PARAMETER V_version1 = 0 ! Session version 1 PARAMETER S_version2 = 1 PARAMETER V_version2 = 1 ! Session version 2 PARAMETER S_reserved = 6 PARAMETER V_reserved = 2 BYTE %FILL (1) ! reserved for future use END STRUCTURE ! osak_sversion ! ! Upper Layer Protocol versions (for use in A-ASSOCIATE) ! STRUCTURE /osak_protocol_versions/ RECORD /osak_acse_version/ acse_version ! ACSE versions RECORD /osak_pversion/ pversion ! Presentation versions RECORD /osak_sversion/ sversion ! Session versions BYTE filler END STRUCTURE ! osak_protocol_versions ! ! Transport provider information ! ! ! Send and Receive Buffer ! STRUCTURE /osak_buffer/ INTEGER*4 next ! next element in list INTEGER*4 buffer_ptr ! start of actual buffer INTEGER*4 buffer_length ! size of actual buffer INTEGER*4 data_ptr ! start of user data INTEGER*4 data_length ! length of user data INTEGER*4 reserved(1:4) ! reserved END STRUCTURE ! osak_buffer ! ! Session Functional units ! PARAMETER fus_m_half_duplex = '00000001'X PARAMETER fus_m_duplex = '00000002'X PARAMETER fus_m_expedited = '00000004'X PARAMETER fus_m_syncminor = '00000008'X PARAMETER fus_m_syncmajor = '00000010'X PARAMETER fus_m_resynchronize = '00000020'X PARAMETER fus_m_activities = '00000040'X PARAMETER fus_m_negotiated_release = '00000080'X PARAMETER fus_m_capability_data = '00000100'X PARAMETER fus_m_exceptions = '00000200'X PARAMETER fus_m_typed_data = '00000400'X PARAMETER fus_m_data_separation = '00000800'X PARAMETER fus_m_reserved1 = '0000F000'X PARAMETER fus_m_context_management = '00010000'X PARAMETER fus_m_reserved2 = '00020000'X PARAMETER fus_m_reserved3 = 'FFFC0000'X STRUCTURE /osak_fus/ PARAMETER S_half_duplex = 1 PARAMETER V_half_duplex = 0 ! Start of Session FUs PARAMETER S_duplex = 1 PARAMETER V_duplex = 1 PARAMETER S_expedited = 1 PARAMETER V_expedited = 2 PARAMETER S_syncminor = 1 PARAMETER V_syncminor = 3 PARAMETER S_syncmajor = 1 PARAMETER V_syncmajor = 4 PARAMETER S_resynchronize = 1 PARAMETER V_resynchronize = 5 PARAMETER S_activities = 1 PARAMETER V_activities = 6 PARAMETER S_negotiated_release = 1 PARAMETER V_negotiated_release = 7 PARAMETER S_capability_data = 1 PARAMETER V_capability_data = 8 PARAMETER S_exceptions = 1 PARAMETER V_exceptions = 9 PARAMETER S_typed_data = 1 PARAMETER V_typed_data = 10 PARAMETER S_data_separation = 1 PARAMETER V_data_separation = 11 PARAMETER S_reserved1 = 4 PARAMETER V_reserved1 = 12 ! for future use PARAMETER S_context_management = 1 PARAMETER V_context_management = 16 ! Start of Presentation Fus PARAMETER S_reserved2 = 1 PARAMETER V_reserved2 = 17 ! contextrestoration for future use PARAMETER S_reserved3 = 14 PARAMETER V_reserved3 = 18 BYTE %FILL (4) ! reserved for future use END STRUCTURE ! osak_fus ! ! Rejection types ! ! ** INTEGER*4 osak_reject_reason ! association reject reason ! ! Synchronization types ! ! ** INTEGER*4 osak_sync_point ! Sync Point serial number ! ** INTEGER*4 osak_sync_confirm ! Sync point confirmation type ! ** INTEGER*4 osak_resync_type ! Resync type ! ** INTEGER*4 osak_data_separation ! Data separation ! ! Token types ! PARAMETER toks_m_data = '00000003'X PARAMETER toks_m_sync_minor = '0000000C'X PARAMETER toks_m_major_activity = '00000030'X PARAMETER toks_m_release = '000000C0'X STRUCTURE /osak_token_setting/ PARAMETER S_data = 2 PARAMETER V_data = 0 ! data token PARAMETER S_sync_minor = 2 PARAMETER V_sync_minor = 2 ! Sync minor token PARAMETER S_major_activity = 2 PARAMETER V_major_activity = 4 ! Sync major/activity token PARAMETER S_release = 2 PARAMETER V_release = 6 BYTE %FILL (1) ! release token END STRUCTURE ! osak_token_setting ! ! Exception type ! ! ** INTEGER*4 osak_exception_reason ! exception reason ! ! Event type ! ! ** INTEGER*4 osak_event ! event code ! ! Activity types ! ! ** INTEGER*4 osak_activity_reason ! Activity Reason ! ** BYTE osak_activity_id(1:6) ! Activity Identifier ! ! Abort Reason ! ! ** INTEGER*4 osak_abort_reason ! ! Abort PPDU for event identifier in P-P-Abort ! ! ** INTEGER*4 osak_abort_ppdu ! ! Release types ! ! ** INTEGER*4 osak_release_reason ! Release reason ! ** INTEGER*4 osak_release_resp_reason ! Release Response reason ! ** INTEGER*4 osak_action_result ! Action result ! ! Session segmentation ! STRUCTURE /osak_segmentation/ INTEGER*2 init_resp ! direction initiator->responder INTEGER*2 resp_init ! direction responder->initiator END STRUCTURE ! osak_segmentation ! ! Session Connect Identification ! STRUCTURE /osak_sconnect_id/ RECORD /osak_mem_descriptor/ ss_user_ref ! SS User reference RECORD /osak_mem_descriptor/ common_ref ! Common reference RECORD /osak_mem_descriptor/ add_ref_info ! Additional reference info END STRUCTURE ! osak_sconnect_id ! ! Session Connection Identification ! STRUCTURE /osak_sconnection_id/ RECORD /osak_mem_descriptor/ called_ss_user_ref ! Called SS User ref RECORD /osak_mem_descriptor/ calling_ss_user_ref ! Calling SS User ref RECORD /osak_mem_descriptor/ common_ref ! Common reference RECORD /osak_mem_descriptor/ add_ref_info ! Additional reference info END STRUCTURE ! osak_sconnection_id ! ! Presentation Context Information ! ! Transfer Syntax Name List ! STRUCTURE /osak_ts_list/ INTEGER*4 next ! pointer to next element RECORD /osak_mem_descriptor/ ts_name ! xfer syntax, TLV for ASN.1 OBJ ID END STRUCTURE ! osak_ts_list ! ! Presentation Context ! STRUCTURE /osak_pcontext/ INTEGER*4 next ! pointer to next element RECORD /osak_mem_descriptor/ pcontext_id ! TLV for ASN.1 INTEGER RECORD /osak_mem_descriptor/ ts_name ! TLV for ASN.1 OBJ ID RECORD /osak_mem_descriptor/ as_name ! TLV for ASN.1 OBJ ID END STRUCTURE ! osak_pcontext ! ! Presentation Context Proposal List ! STRUCTURE /osak_pcontext_proposal/ INTEGER*4 next ! next element RECORD /osak_mem_descriptor/ pcontext_id ! TLV for ASN.1 INTEGER INTEGER*4 ts_list ! list of xfer syntax names INTEGER*4 filler_3 ! filler RECORD /osak_mem_descriptor/ as_name ! TLV for ASN.1 OBJ ID END STRUCTURE ! osak_pcontext_proposal ! ! Default context definition ! STRUCTURE /osak_default_context/ RECORD /osak_mem_descriptor/ ts_name ! TLV for ASN.1 OBJ ID RECORD /osak_mem_descriptor/ as_name ! TLV for ASN.1 OBJ ID END STRUCTURE ! osak_default_context ! ! Presentation Context Identifier List ! STRUCTURE /osak_pcontext_id/ INTEGER*4 next ! next element RECORD /osak_mem_descriptor/ pcontext_id ! TLV for ASN.1 INTEGER RECORD /osak_mem_descriptor/ ts_name ! TLV for ASN.1 OBJ ID END STRUCTURE ! osak_pcontext_id ! ! Presentation Context Deletion list ! STRUCTURE /osak_pcontext_deletion/ INTEGER*4 next ! next element RECORD /osak_mem_descriptor/ pcontext_id ! TLV for ASN.1 INTEGER END STRUCTURE ! osak_pcontext_deletion STRUCTURE /osak_pcontext_proposal_result/ INTEGER*4 next ! next element RECORD /osak_mem_descriptor/ ts_name ! TLV for ASN.1 OBJ ID INTEGER*4 result ! Result value INTEGER*4 reason ! provider reason END STRUCTURE ! osak_pcontext_proposal_result ! ! Presentation Context Deletion Result List ! STRUCTURE /osak_pcontext_deletion_result/ INTEGER*4 next ! next element INTEGER*4 result ! deletion result value END STRUCTURE ! osak_pcontext_deletion_result ! ! Presentation default context result ! ! ** INTEGER*4 osak_default_context_result ! ! State information for osak_status function call ! STRUCTURE /osak_state/ INTEGER*4 initiator ! TRUE if initiator,FALSE if responder BYTE pm_state ! State of association BYTE filler1 INTEGER*2 filler2 END STRUCTURE ! osak_state PARAMETER po_m_extended = '00000001'X PARAMETER po_m_reserved = '000000FE'X STRUCTURE /osak_protocol_options/ PARAMETER S_extended = 1 PARAMETER V_extended = 0 ! extended concatenation(not supported) PARAMETER S_reserved = 7 PARAMETER V_reserved = 1 BYTE %FILL (1) ! reserved for future use BYTE filler1 INTEGER*2 filler2 END STRUCTURE ! osak_protocol_options ! ! Presentation DCS for use by trace ! STRUCTURE /osak_dcs_pcontext/ INTEGER*4 next ! pointer to next element RECORD /osak_mem_descriptor/ pcontext_id ! TLV for ASN.1 INTEGER RECORD /osak_mem_descriptor/ as_name ! TLV for ASN.1 OBJ ID RECORD /osak_mem_descriptor/ ts_name ! TLV for ASN.1 OBJ ID END STRUCTURE ! osak_dcs_pcontext ! ! Transport Characteristics ! ! ** BYTE osak_transport_class STRUCTURE /osak_trans_characteristics/ BYTE class ! type is "osak_transport_class" ! Transport class BYTE alternate_class ! type is "osak_transport_class" ! Alternate transport class INTEGER*4 expedited_flag ! Use transport expedited INTEGER*4 checksums_flag ! Use checksums END STRUCTURE ! osak_trans_characteristics PARAMETER RESERVED_AREA = '00000028'X STRUCTURE /osak_parameter_block/ INTEGER*4 pb_length INTEGER*4 ws_length INTEGER*4 func INTEGER*4 tsdu_ptr INTEGER*4 next_pb INTEGER*4 port_id ! type is "osak_port" INTEGER*4 event_type ! type is "osak_event" INTEGER*4 more_flag INTEGER*4 data_length INTEGER*4 user_data INTEGER*4 peer_data INTEGER*4 acse_pci_eoc INTEGER*4 pres_pci_eoc RECORD /osak_status_block/ status_block INTEGER*4 local_aei INTEGER*4 actual_aeiid INTEGER*4 acontext INTEGER*4 calling_aei INTEGER*4 called_aei INTEGER*4 transport_template INTEGER*4 protocol_versions INTEGER*4 sconnect_id INTEGER*4 protocol_options INTEGER*4 segmentation INTEGER*4 initial_serial_number INTEGER*4 initial_tokens INTEGER*4 functional_units INTEGER*4 pcontext_list INTEGER*4 pdefault_context INTEGER*4 responding_aei INTEGER*4 pcontext_res_list INTEGER*4 pdefault_context_res INTEGER*4 reject_reason ! type is "osak_reject_reason" INTEGER*4 request_tokens INTEGER*4 pcontext_del_list INTEGER*4 pcontext_del_res_list INTEGER*4 token_item INTEGER*4 sync_confirm ! type is "osak_sync_confirm" INTEGER*4 sync_point INTEGER*4 resync_type ! type is "osak_resync_type" INTEGER*4 pcontext_id_list INTEGER*4 tokens INTEGER*4 exception_reason ! type is "osak_exception_reason" RECORD /osak_mem_descriptor/ activity_id RECORD /osak_mem_descriptor/ old_activity_id INTEGER*4 old_sconnection_id INTEGER*4 activity_reason INTEGER*4 abort_reason ! type is "osak_abort_reason" INTEGER*4 abort_ppdu ! type is "osak_abort_ppdu" INTEGER*4 local_abort INTEGER*4 release_reason ! type is "osak_release_reason" INTEGER*4 release_resp_reason ! type is "osak_release_resp_reason" INTEGER*4 action_result RECORD /osak_state/ redirect_state INTEGER*4 process_id INTEGER*4 process_name INTEGER*4 pcontext_redirect_list INTEGER*4 rcv_data_list INTEGER*4 local_data INTEGER*4 alloc_rtn ! type is "osak_rtn" INTEGER*4 dealloc_rtn ! type is "osak_rtn" INTEGER*4 alloc_param INTEGER*4 completion_rtn ! type is "osak_rtn" INTEGER*4 completion_param INTEGER*4 trans_characteristics INTEGER*4 api_version INTEGER*4 user_context INTEGER*4 data_separation ! type is "osak_data_separation" INTEGER*4 rfc1006_port ! type is "osak_rfc1006_port" END STRUCTURE ! osak_parameter_block PARAMETER V20_API_PB_SIZE = '00000118'X PARAMETER V30_API_PB_SIZE = '0000012C'X PARAMETER API_PB_SIZE = '0000012C'X ! ! Define ROSE API structures. [021] ! ! ** INTEGER*4 osak_rose_reason ! ** INTEGER*4 osak_rose_problem STRUCTURE /osak_rose_pb/ INTEGER*4 pdu_type ! ROSE PDU type INTEGER*4 pb_length ! Parameter block length INTEGER*4 ws_length ! Working space length RECORD /osak_mem_descriptor/ invoke_id ! Invoke identification RECORD /osak_mem_descriptor/ linked_id ! Linked identification RECORD /osak_mem_descriptor/ local_value ! Local operation value RECORD /osak_mem_descriptor/ global_value ! Global operation value INTEGER*4 reason ! ROSE REJECT reason INTEGER*4 problem ! ROSE REJECT problem RECORD /osak_status_block/ status_block ! ROSE status block INTEGER*4 arg_length ! Argument length INTEGER*4 buffer ! ROSE output buffer END STRUCTURE ! osak_rose_pb PARAMETER ROSE_PB_SIZE = '0000004C'X PARAMETER WS_REASON_OFFSET = '00000000'X PARAMETER WS_PROBLEM_OFFSET = '00000004'X PARAMETER ROSE_WS_SIZE = '00000008'X !DEC$ END OPTIONS