!*** MODULE $acmedef IDENT X-8 *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! + ! ! Miscellaneous constants ! ! - PARAMETER acme$k_maxchar_ITEM = '00003FFF'X ! Maximum length (in characters) ! of an item PARAMETER acme$k_maxchar_doi_name = '00000020'X ! Maximum length (in characters) ! of a DOI name string PARAMETER acme$k_maxchar_principal_name = '00000200'X ! Maximum length (in characters) ! of a principal name string PARAMETER acme$k_max_num_agents = '00000020'X ! Maximum number of ACME agents ! that can be loaded PARAMETER acme$k_max_cred_type = '00000020'X ! Maximum number of credential ! types supported ! + ! ! ACME agent id ! ! An ACME agent id is a 32-bit unsigned value, encoded as follows: ! ! Remote host address type is a 16-bit unsigned value, encoded as follows: ! ! 3 2 2 1 1 ! 1 4 3 6 5 8 7 0 ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! ^.............................^ ^ ^...........................^ ! | | | | | ! | | | +---------------------------+-- Bit [14:0] = ACME number ! | | | ! | | +-------------------------------- Bit [15] = 0 ==> Ancillar ! | | +------------------------ ! | | 1 ==> Register ! | | ! | | ! +-----------------------------+---------------------------------- Bit [31:16] = Server number ! ! - PARAMETER acmeid$m_acme_num = '00007FFF'X PARAMETER acmeid$m_doi_designator = '00008000'X PARAMETER acmeid$m_server_num = 'FFFF0000'X STRUCTURE /acmeid/ UNION MAP INTEGER*4 acmeid$l_agent_id ! Composite id END MAP MAP PARAMETER acmeid$S_acme_num = 15 PARAMETER acmeid$V_acme_num = 0 ! ACME agent number PARAMETER acmeid$S_doi_designator = 1 PARAMETER acmeid$V_doi_designator = 15 ! Registered DOI PARAMETER acmeid$S_server_num = 16 PARAMETER acmeid$V_server_num = 16 BYTE %FILL (4) ! Server number END MAP END UNION END STRUCTURE ! acmeid PARAMETER acmeid$k_length = '00000004'X ! + ! ! $ACM Function Codes and Modifiers ! ! Function code plus modifiers form a 32-bit unsigned value, encoded ! as follows: ! ! 3 2 2 1 1 ! 1 4 3 6 5 8 7 0 ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! ^.............................^ ^.................^ ^.........^ ! | | | | | | ! | | | | +---------+-- Bit [5:0] = function code ! | | | | ! | | +-----------------+-------------- Bit [15:06] = cross function ! | | +-----------------+------ ! | | ! +-----------------------------+---------------------------------- Bit [31:16] = function speci ! +-----------------------------+-------------------------- ! - ! ! Function codes ! ! Function code values PARAMETER acme$_authenticate_principal = '00000001'X ! AUTHENTICATE_PRINCIPAL PARAMETER acme$_change_password = '00000002'X ! CHANGE_PASSWORD PARAMETER acme$_release_credentials = '00000003'X ! RELEASE_CREDENTIALS PARAMETER acme$_query = '00000004'X ! QUERY PARAMETER acme$_event = '00000005'X ! EVENT ! Function code value PARAMETER acme$_free_context = '0000003F'X ! FREE_CONTEXT ! Function code values PARAMETER acme$_fc_authenticate_principal = '00000001'X ! AUTHENTICATE_PRINCIPAL PARAMETER acme$_fc_change_password = '00000002'X ! CHANGE_PASSWORD PARAMETER acme$_fc_release_credentials = '00000003'X ! RELEASE_CREDENTIALS PARAMETER acme$_fc_query = '00000004'X ! QUERY PARAMETER acme$_fc_event = '00000005'X ! EVENT ! Function code value PARAMETER acme$_fc_free_context = '0000003F'X ! FREE_CONTEXT PARAMETER acmefc$m_function = '0000003F'X PARAMETER acmefc$m_modifiers = 'FFFFFFC0'X PARAMETER acme$m_noaudit = '00000040'X PARAMETER acme$m_timeout = '00000080'X PARAMETER acme$m_ucs2_4 = '00008000'X PARAMETER acme$m_acquire_credentials = '00010000'X PARAMETER acme$m_merge_persona = '00020000'X PARAMETER acme$m_copy_persona = '00040000'X PARAMETER acme$m_override_mapping = '00080000'X PARAMETER acme$m_native_authentication = '00100000'X PARAMETER acme$m_noauthorization = '00200000'X PARAMETER acme$m_foreign_policy_hints = '00400000'X PARAMETER acme$m_default_principal = '00800000'X STRUCTURE /acmefc/ UNION ! ! Overall function code/modifiers structure ! MAP UNION MAP INTEGER*4 acmefc$l_fcode_struct ! Composite field END MAP MAP PARAMETER acmefc$S_function = 6 PARAMETER acmefc$V_function = 0 ! Function code PARAMETER acmefc$S_modifiers = 26 PARAMETER acmefc$V_modifiers = 6 ! Function modifiers BYTE %FILL (4) END MAP END UNION END MAP ! ! Modifiers applicable to all function codes ! MAP UNION MAP INTEGER*4 %FILL END MAP MAP PARAMETER acme$S_noaudit = 1 PARAMETER acme$V_noaudit = 6 ! Suppress auditing PARAMETER acme$S_timeout = 1 PARAMETER acme$V_timeout = 7 ! Timed operation PARAMETER acme$S_ucs2_4 = 1 PARAMETER acme$V_ucs2_4 = 15 ! Strings are in 4-byte UCS-2 format BYTE %FILL (1) END MAP END UNION END MAP ! ! Modifiers applicable to AUTHENTICATE_PRINCIPAL/CHANGE_PASSWORD ! MAP UNION MAP INTEGER*4 %FILL END MAP MAP PARAMETER acme$S_acquire_credentials = 1 PARAMETER acme$V_acquire_credentials = 16 ! Acquire credentials PARAMETER acme$S_merge_persona = 1 PARAMETER acme$V_merge_persona = 17 ! Merge with base credentials PARAMETER acme$S_copy_persona = 1 PARAMETER acme$V_copy_persona = 18 ! Copy base credentials PARAMETER acme$S_override_mapping = 1 PARAMETER acme$V_override_mapping = 19 ! Override VMS username mapping checks PARAMETER acme$S_native_authentication = 1 PARAMETER acme$V_native_authentication = 20 ! Allow native DOI authentication PARAMETER acme$S_noauthorization = 1 PARAMETER acme$V_noauthorization = 21 ! Skip authorization checks PARAMETER acme$S_foreign_policy_hints = 1 PARAMETER acme$V_foreign_policy_hints = 22 ! Honor NOAUDIT and NOAUTHORIZATION ! for non-native authentications PARAMETER acme$S_default_principal = 1 PARAMETER acme$V_default_principal = 23 ! Use principal name and DOI ! designator defined by the ! primary persona extension BYTE %FILL (1) END MAP END UNION END MAP END UNION END STRUCTURE ! acmefc PARAMETER acmefc$k_length = '00000004'X ! + ! ! $ACM Item Codes ! ! Item codes are 16-bit unsigned values, encoded as follows: ! ! 1 ! 5 8 7 0 ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! | | | | | | | | | | | | | | | | | ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! ^ ^ ^ ^ ^ ! | | | | | ! | | | +-----------------------+-- Bit [12:0] = item ! | | | ! | | +---------------------------- Bit [13] = 0 ==> not subject to VTF-7 <-> UCS conversion ! | | 1 ==> subject to VTF-7 <-> UCS conversion ! | | ! | +------------------------------ Bit [14] = 0 ==> input item ! | 1 ==> output item ! | ! +-------------------------------- Bit [15] = 0 ==> common item ! 1 ==> ACME specific item ! ! - ! Specialty ! Cross function ! AUTHENTICATE_PRINCIPAL/CHANGE_PASSWORD ! RELEASE_CREDENTIALS ! QUERY ! EVENT PARAMETER acmeic$M_ITEM = '00001FFF'X PARAMETER acmeic$m_ucs = '00002000'X PARAMETER acmeic$m_output = '00004000'X PARAMETER acmeic$m_acme_specific = '00008000'X STRUCTURE /acmeic/ UNION MAP INTEGER*2 acmeic$w_item_code ! Composite field END MAP MAP PARAMETER acmeic$S_ITEM = 13 PARAMETER acmeic$V_ITEM = 0 ! Ranged value PARAMETER acmeic$S_ucs = 1 PARAMETER acmeic$V_ucs = 13 ! 0 ==> not subject to VTF-7 <-> UCS conversion ! 1 ==> subject to VTF-7 <-> UCS conversion PARAMETER acmeic$S_output = 1 PARAMETER acmeic$V_output = 14 ! 0 ==> input item ! 1 ==> output item PARAMETER acmeic$S_acme_specific = 1 PARAMETER acmeic$V_acme_specific = 15 ! 0 ==> common item ! 1 ==> ACME specific item BYTE %FILL (2) END MAP END UNION END STRUCTURE ! acmeic PARAMETER acmeic$k_length = '00000002'X ! ! Input item codes not subject to VTF-7 <-> UCS conversion ! PARAMETER acme$_min_spec_in = '00000001'X ! Specialty items PARAMETER acme$_null = '00000001'X ! Place holder item (skip entry in item list) PARAMETER acme$_chain = '00000002'X ! Chain to another item list segment PARAMETER acme$_max_spec_in = '00000002'X PARAMETER acme$_min_gen_in = '00000100'X ! Generic items PARAMETER acme$_access_mode = '00000100'X ! Access mode for persona operations PARAMETER acme$_dialogue_support = '00000101'X ! Dialogue capabilities PARAMETER acme$_context_acme_id = '00000102'X ! ID of ACME for specific context PARAMETER acme$_persona_handle_in = '00000103'X ! Target persona PARAMETER acme$_target_doi_id = '00000104'X ! ID of DOI for a directed call PARAMETER acme$_timeout_interval = '00000105'X ! Timeout interval in seconds PARAMETER acme$_max_gen_in = '00000105'X PARAMETER acme$_min_auth_pwd_in = '00000200'X ! AUTHENTICATE_PRINCIPAL/CHANGE_PASSWORD items PARAMETER acme$_auth_mechanism = '00000200'X ! Authentication mechanism PARAMETER acme$_challenge_data = '00000201'X ! Challenge data PARAMETER acme$_logon_type = '00000202'X ! Logon type PARAMETER acme$_new_password_flags = '00000203'X ! New password request/control flags PARAMETER acme$_remote_host_address = '00000204'X ! Remote host address PARAMETER acme$_remote_host_address_type = '00000205'X ! Remote host address type/format PARAMETER acme$_response_data = '00000206'X ! Response data PARAMETER acme$_max_auth_pwd_in = '00000206'X PARAMETER acme$_min_rel_cred_in = '00000300'X ! RELEASE_CREDENTIALS items PARAMETER acme$_credentials_type = '00000300'X ! Index associated with persona extension PARAMETER acme$_max_rel_cred_in = '00000300'X PARAMETER acme$_min_query_in = '00000400'X ! QUERY items PARAMETER acme$_query_key_type = '00000400'X ! Key type PARAMETER acme$_query_key_value = '00000401'X ! Key value PARAMETER acme$_query_type = '00000402'X ! Type of data to be returned via QUERY_DATA PARAMETER acme$_max_query_in = '00000402'X PARAMETER acme$_min_event_in = '00000500'X ! EVENT items PARAMETER acme$_event_data_in = '00000500'X ! Event function input data PARAMETER acme$_event_type = '00000501'X ! Event type PARAMETER acme$_max_event_in = '00000501'X ! ! Input item codes subject to VTF-7 <-> UCS conversion ! PARAMETER acme$_min_gen_in_ucs = '00002100'X ! Generic items PARAMETER acme$_context_acme_name = '00002100'X ! Name of ACME for specific context PARAMETER acme$_locale = '00002101'X ! Language specifier (location) PARAMETER acme$_target_doi_name = '00002102'X ! Name of DOI for a directed call PARAMETER acme$_server_name_in = '00002103'X ! ACME relative server name PARAMETER acme$_service_name = '00002104'X ! Caller's service name PARAMETER acme$_max_gen_in_ucs = '00002104'X PARAMETER acme$_min_auth_pwd_in_ucs = '00002200'X ! AUTHENTICATE_PRINCIPAL/CHANGE_PASSWORD items PARAMETER acme$_access_port = '00002200'X ! Access port name PARAMETER acme$_new_password_1 = '00002201'X ! New primary password PARAMETER acme$_new_password_2 = '00002202'X ! New secondary password PARAMETER acme$_new_password_system = '00002203'X ! New system password PARAMETER acme$_password_1 = '00002204'X ! Primary password PARAMETER acme$_password_2 = '00002205'X ! Secondary password PARAMETER acme$_password_system = '00002206'X ! System password PARAMETER acme$_principal_name_in = '00002207'X ! Principal name PARAMETER acme$_remote_host_fullname = '00002208'X ! Remote host expanded name PARAMETER acme$_remote_host_name = '00002209'X ! Remote host name PARAMETER acme$_remote_username = '0000220A'X ! Remote username PARAMETER acme$_max_auth_pwd_in_ucs = '0000220A'X PARAMETER acme$_min_rel_cred_in_ucs = '00002300'X ! RELEASE_CREDENTIALS items PARAMETER acme$_credentials_name = '00002300'X ! Name associated with persona extension PARAMETER acme$_max_rel_cred_in_ucs = '00002300'X ! ! Output item codes not subject to VTF-7 <-> UCS conversion ! PARAMETER acme$_min_spec_out = '00004001'X ! Specialty items PARAMETER acme$_phase_transition = '00004001'X PARAMETER acme$_max_spec_out = '00004001'X PARAMETER acme$_min_gen_out = '00004100'X ! Generic items PARAMETER acme$_persona_handle_out = '00004100'X ! Persona acted upon PARAMETER acme$_max_gen_out = '00004100'X PARAMETER acme$_min_auth_pwd_out = '00004200'X ! AUTHENTICATE_PRINCIPAL/CHANGE_PASSWORD items PARAMETER acme$_authenticating_doi_id = '00004200'X ! ID of DOI accepting principal PARAMETER acme$_logon_information = '00004201'X ! Logon information PARAMETER acme$_mapping_acme_id = '00004202'X ! ID of ACME mapping principal PARAMETER acme$_max_auth_pwd_out = '00004202'X PARAMETER acme$_min_query_out = '00004400'X ! QUERY items PARAMETER acme$_query_data = '00004400'X ! Query function output data PARAMETER acme$_max_query_out = '00004400'X PARAMETER acme$_min_event_out = '00004500'X ! EVENT items PARAMETER acme$_event_data_out = '00004500'X ! Event function output data PARAMETER acme$_max_event_out = '00004500'X ! ! Output item codes subject to VTF-7 <-> UCS conversion ! PARAMETER acme$_min_gen_out_ucs = '00006100'X ! Generic items PARAMETER acme$_server_name_out = '00006100'X ! ACME relative server name PARAMETER acme$_max_gen_out_ucs = '00006100'X PARAMETER acme$_min_auth_pwd_out_ucs = '00006200'X ! AUTHENTICATE_PRINCIPAL/CHANGE_PASSWORD items PARAMETER acme$_authenticating_doi_name = '00006200'X ! Name of DOI accepting principal PARAMETER acme$_mapped_vms_username = '00006201'X ! Resultant VMS Username PARAMETER acme$_mapping_acme_name = '00006202'X ! Name of ACME mapping principal PARAMETER acme$_principal_name_out = '00006203'X ! Processed principal name PARAMETER acme$_max_auth_pwd_out_ucs = '00006203'X ! ! Logon (Job) Type Values ! PARAMETER acme$k_network = '00000001'X PARAMETER acme$k_batch = '00000002'X PARAMETER acme$k_local = '00000003'X PARAMETER acme$k_dialup = '00000004'X PARAMETER acme$k_remote = '00000005'X ! + ! ! Revision Level ! ! Revision level is a 16-bit unsigned value, encoded as follows: ! ! 1 ! 5 8 7 0 ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! | | | | | | | | | | | | | | | | | ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! ^.............^ ^.............^ ! | | | | ! | | +-------------+-- Bit [7:0] = revision minor id ! | | ! +-------------+------------------ Bit [15:8] = revision major id ! ! - PARAMETER acmerevlvl$k_minor_id_bitpos = '00000000'X PARAMETER acmerevlvl$k_major_id_bitpos = '00000008'X STRUCTURE /acmerevlvl/ UNION MAP INTEGER*2 acmerevlvl$w_revision_level ! Composite field END MAP MAP BYTE acmerevlvl$b_minor_id ! Revision level minor id BYTE acmerevlvl$b_major_id ! Revision level major id END MAP END UNION END STRUCTURE ! acmerevlvl PARAMETER acmerevlvl$k_length = '00000002'X ! + ! ! Authentication Mechanism ! ! Authentication mechanism is a 16-bit unsigned value, encoded as follows: ! ! 3 2 2 1 1 ! 1 4 3 6 5 8 7 0 ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! ^.............................^ ^ ^...........................^ ! | | | | | ! | | | +---------------------------+-- Bit [14:0] = authentication ! | | | +---------------------- ! | | | ! | | +-------------------------------- Bit [15] = 0 ==> standard ! | | +------------------------ ! | | 1 ==> vendor s ! | | ! | | ! +-----------------------------+---------------------------------- Bit [31:16] = vendor's facil ! +-----------------------------+-------------------------- ! ! - ! ! Standard mechanism types ! PARAMETER acmemech$k_password = '00000001'X ! Username-Password PARAMETER acmemech$k_challenge_response = '00000002'X ! Challenge-Response PARAMETER acmemech$m_mechanism_type = '00007FFF'X PARAMETER acmemech$m_facility_specific = '00008000'X STRUCTURE /acmemech/ UNION MAP INTEGER*2 acmemech$w_mechanism ! Composite field END MAP MAP PARAMETER acmemech$S_mechanism_type = 15 PARAMETER acmemech$V_mechanism_type = 0 ! Authentication mechanism PARAMETER acmemech$S_facility_specific = 1 PARAMETER acmemech$V_facility_specific = 15 ! 0 ==> standard mechanism ! 1 ==> facility specific mechanism BYTE %FILL (2) END MAP END UNION INTEGER*2 acmemech$w_facility ! Vendor's assigned facility code END STRUCTURE ! acmemech PARAMETER acmemech$k_length = '00000004'X ! + ! ! Remote Host Address Type ! ! Remote host address type is a 16-bit unsigned value, encoded as follows: ! ! 3 2 2 1 1 ! 1 4 3 6 5 8 7 0 ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! ^.............................^ ^ ^...........................^ ! | | | | | ! | | | +---------------------------+-- Bit [14:0] = network protoc ! | | | +---------------------- ! | | | ! | | +-------------------------------- Bit [15] = 0 ==> standard ! | | +------------------------ ! | | 1 ==> vendor s ! | | ! | | ! +-----------------------------+---------------------------------- Bit [31:16] = vendor's facil ! +-----------------------------+-------------------------- ! ! - ! ! Standard protocol types ! PARAMETER acmehat$k_decnet_iv = '00000001'X ! DECnet Phase IV PARAMETER acmehat$k_decnet_osi = '00000002'X ! DECnet OSI PARAMETER acmehat$k_ip_v4 = '00000003'X ! Internet Protocol V4 PARAMETER acmehat$k_ip_v6 = '00000004'X ! Internet Protocol V6 PARAMETER acmehat$m_protocol_type = '00007FFF'X PARAMETER acmehat$m_facility_specific = '00008000'X STRUCTURE /acmehat/ UNION MAP INTEGER*2 acmehat$w_protocol ! Composite field END MAP MAP PARAMETER acmehat$S_protocol_type = 15 PARAMETER acmehat$V_protocol_type = 0 ! Network protocol/address format PARAMETER acmehat$S_facility_specific = 1 PARAMETER acmehat$V_facility_specific = 15 ! 0 ==> standard protocol ! 1 ==> facility specific protocol BYTE %FILL (2) END MAP END UNION INTEGER*2 acmehat$w_facility ! Vendor's assigned facility code END STRUCTURE ! acmehat PARAMETER acmehat$k_length = '00000004'X ! + ! ! Password change request control flags ! ! - PARAMETER acmepwdflg$k_system = '00000000'X PARAMETER acmepwdflg$m_system = '00000001'X PARAMETER acmepwdflg$k_password_1 = '00000001'X PARAMETER acmepwdflg$m_password_1 = '00000002'X PARAMETER acmepwdflg$k_password_2 = '00000002'X PARAMETER acmepwdflg$m_password_2 = '00000004'X PARAMETER acmepwdflg$k_max_flags = '00000003'X PARAMETER acmepwdflg$k_specified = '0000001F'X PARAMETER acmepwdflg$m_specified = '80000000'X PARAMETER acmepwdflg$m_valid_flags = '00000007'X PARAMETER acmepwdflg$m_password_flags = '7FFFFFFF'X STRUCTURE /acmepwdflg/ UNION MAP UNION MAP INTEGER*4 acmepwdflg$l_flags_struct ! Composite field END MAP MAP PARAMETER acmepwdflg$S_system = 1 PARAMETER acmepwdflg$V_system = 0 ! Request system password change PARAMETER acmepwdflg$S_password_1 = 1 PARAMETER acmepwdflg$V_password_1 = 1 ! Request password 1 change PARAMETER acmepwdflg$S_password_2 = 1 PARAMETER acmepwdflg$V_password_2 = 2 ! Request password 2 change PARAMETER acmepwdflg$S_specified = 1 PARAMETER acmepwdflg$V_specified = 31 ! Used internally by the service ! to indicate flags reflect caller ! specified NEW_PASSWORD_FLAGS item ! Caller's setting is ignored BYTE %FILL (1) END MAP END UNION END MAP MAP PARAMETER acmepwdflg$S_valid_flags = 3 PARAMETER acmepwdflg$V_valid_flags = 0 ! Currently defined flags BYTE %FILL (1) END MAP MAP PARAMETER acmepwdflg$S_password_flags = 31 PARAMETER acmepwdflg$V_password_flags = 0 BYTE %FILL (4) ! Non-reserved flags END MAP END UNION END STRUCTURE ! acmepwdflg PARAMETER acmepwdflg$k_length = '00000004'X ! + ! ! $ACM Item Set Message Category ! ! Message Categories are 16-bit unsigned values, encoded as follows: ! ! 1 ! 5 8 7 0 ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! | | | | | | | | | | | | | | | | | ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! ^ ^ ^ ^ ! | | | | ! | | +-------------------------+-- Bit [13:0] = message type ! | | ! | +------------------------------ Bit [14] = 0 ==> not subject to VTF-7 <-> UCS conversion ! | = 1 ==> subject to VTF-7 <-> UCS conversion ! | ! +-------------------------------- Bit [15] = 0 ==> common item ! 1 ==> ACME specific item ! ! - PARAMETER acmemc$m_type = '00003FFF'X PARAMETER acmemc$m_ucs = '00004000'X PARAMETER acmemc$m_acme_specific = '00008000'X STRUCTURE /acmemc/ UNION MAP INTEGER*2 acmemc$w_msg_code ! Composite field END MAP MAP PARAMETER acmemc$S_type = 14 PARAMETER acmemc$V_type = 0 ! Ranged value PARAMETER acmemc$S_ucs = 1 PARAMETER acmemc$V_ucs = 14 ! 0 ==> not subject to VTF-7 <-> UCS conversion ! 1 ==> subject to VTF-7 <-> UCS conversion PARAMETER acmemc$S_acme_specific = 1 PARAMETER acmemc$V_acme_specific = 15 ! 0 ==> common category ! 1 ==> ACME specific category BYTE %FILL (2) END MAP END UNION END STRUCTURE ! acmemc PARAMETER acmemc$k_length = '00000002'X ! ! Generic output message categories ! ! These are all subject to UCS conversion ! PARAMETER acmemc$k_min_gen_msg = '00004000'X PARAMETER acmemc$k_general = '00004000'X ! General text PARAMETER acmemc$k_header = '00004001'X ! Header text PARAMETER acmemc$k_trailer = '00004002'X ! Trailer text PARAMETER acmemc$k_selection = '00004003'X ! Acceptable choices PARAMETER acmemc$k_dialogue_alert = '00004004'X ! Alert (advisory) PARAMETER acmemc$k_max_gen_msg = '00004004'X ! ! LOGINOUT related output message categories ! ! These are all subject to UCS conversion ! PARAMETER acmemc$k_min_logon_msg = '00004100'X PARAMETER acmemc$k_system_identification = '00004100'X ! System identification text PARAMETER acmemc$k_system_notices = '00004101'X ! System notices PARAMETER acmemc$k_welcome_notices = '00004102'X ! Welcome notices, PARAMETER acmemc$k_logon_notices = '00004103'X ! Logon notices PARAMETER acmemc$k_password_notices = '00004104'X ! Password notices PARAMETER acmemc$k_mail_notices = '00004105'X ! MAIL notices PARAMETER acmemc$k_max_logon_msg = '00004105'X ! + ! ! ACMESB - ACM Status Block ! ! - STRUCTURE /acmesb/ INTEGER*4 acmesb$l_status ! Primary status INTEGER*4 acmesb$l_secondary_status ! Auxillary (privileged) status RECORD /acmeid/ acmesb$l_acme_id ! ID of ACME/DOI reporting specific status INTEGER*4 acmesb$l_acme_status ! ACME/DOI specific status END STRUCTURE ! acmesb PARAMETER acmesb$k_length = '00000010'X ! + ! ! ACMECB - ACM Communications Buffer ! ! - PARAMETER acmedlogflg$m_input = '00000001'X PARAMETER acmedlogflg$m_noecho = '00000002'X PARAMETER acmedlogflg$m_specified = '80000000'X PARAMETER acmedlogflg$m_valid_flags = '00000003'X PARAMETER acmedlogflg$m_dialogue_flags = '7FFFFFFF'X STRUCTURE /acmedlogflg/ UNION MAP UNION MAP INTEGER*4 acmedlogflg$l_flags_struct ! Composite field END MAP MAP PARAMETER acmedlogflg$S_input = 1 PARAMETER acmedlogflg$V_input = 0 ! Response required PARAMETER acmedlogflg$S_noecho = 1 PARAMETER acmedlogflg$V_noecho = 1 ! When prompting, do not echo response PARAMETER acmedlogflg$S_specified = 1 PARAMETER acmedlogflg$V_specified = 31 ! Used internally by the service ! to indicate flags reflect caller ! specified DIALOGUE_SUPPORT item ! Caller's setting is ignored BYTE %FILL (1) END MAP END UNION END MAP MAP PARAMETER acmedlogflg$S_valid_flags = 2 PARAMETER acmedlogflg$V_valid_flags = 0 ! Currently defined flags BYTE %FILL (1) END MAP MAP PARAMETER acmedlogflg$S_dialogue_flags = 31 PARAMETER acmedlogflg$V_dialogue_flags = 0 BYTE %FILL (4) ! Non-reserved flags END MAP END UNION END STRUCTURE ! acmedlogflg PARAMETER acmedlogflg$k_length = '00000004'X STRUCTURE /acmeitmset/ RECORD /acmedlogflg/ acmeis$l_flags ! Item set processing flags RECORD /acmeic/ acmeis$w_item_code ! Item code reflecting the nature of ! information provided/requested UNION MAP INTEGER*2 acmeis$w_max_length ! Maximum length of an input data END MAP MAP RECORD /acmemc/ acmeis$w_msg_type ! Message category for output data END MAP END UNION INTEGER*4 acmeis$q_data_1(2) ! Data 1 (prompt text) INTEGER*4 acmeis$q_data_2(2) ! Data 2 (default response) END STRUCTURE ! acmeitmset PARAMETER acmeis$k_length = '00000018'X PARAMETER acmecb$k_minor_id_000 = '00000000'X PARAMETER acmecb$k_minor_id = '00000000'X PARAMETER acmecb$k_major_id_001 = '00000001'X PARAMETER acmecb$k_major_id = '00000001'X PARAMETER acmecb$k_revision = '00000100'X STRUCTURE /acmecb/ INTEGER*4 acmecb$q_context_id(2) ! ID of associated ACM Request Block INTEGER*2 acmecb$w_size ! Structure size, in bytes RECORD /acmerevlvl/ acmecb$w_revision_level ! Structure revision level RECORD /acmeid/ acmecb$l_acme_id ! ID of ACME/DOI requesting dialogue INTEGER*4 acmecb$l_item_set_count ! Number of item set entries INTEGER*4 acmecb$ps_item_set ! Pointer to item set array END STRUCTURE ! acmecb PARAMETER acmecb$k_length = '00000018'X ! + ! ! ACMELI - ACM Logon Information Block ! ! - PARAMETER acmelgiflg$k_min_logon_flag = -1 PARAMETER acmelgiflg$k_new_mail_at_login = '00000000'X PARAMETER acmelgiflg$m_new_mail_at_login = '00000001'X PARAMETER acmelgiflg$k_password_changed = '00000001'X PARAMETER acmelgiflg$m_password_changed = '00000002'X PARAMETER acmelgiflg$k_password_expired = '00000002'X PARAMETER acmelgiflg$m_password_expired = '00000004'X PARAMETER acmelgiflg$k_password_warning = '00000003'X PARAMETER acmelgiflg$m_password_warning = '00000008'X PARAMETER acmelgiflg$k_password2_changed = '00000004'X PARAMETER acmelgiflg$m_password2_changed = '00000010'X PARAMETER acmelgiflg$k_password2_expired = '00000005'X PARAMETER acmelgiflg$m_password2_expired = '00000020'X PARAMETER acmelgiflg$k_password2_warning = '00000006'X PARAMETER acmelgiflg$m_password2_warning = '00000040'X PARAMETER acmelgiflg$k_max_logon_flag = '00000006'X STRUCTURE /acmelgiflg/ UNION MAP INTEGER*4 acmelgiflg$l_logon_flags ! Composite field END MAP MAP PARAMETER acmelgiflg$S_new_mail_at_login = 1 PARAMETER acmelgiflg$V_new_mail_at_login = 0 ! User had new MAIL message(s) PARAMETER acmelgiflg$S_password_changed = 1 PARAMETER acmelgiflg$V_password_changed = 1 ! Primary password changed PARAMETER acmelgiflg$S_password_expired = 1 PARAMETER acmelgiflg$V_password_expired = 2 ! Primary password expired on login PARAMETER acmelgiflg$S_password_warning = 1 PARAMETER acmelgiflg$V_password_warning = 3 ! Primary password expiration imminent PARAMETER acmelgiflg$S_password2_changed = 1 PARAMETER acmelgiflg$V_password2_changed = 4 ! Secondary password changed PARAMETER acmelgiflg$S_password2_expired = 1 PARAMETER acmelgiflg$V_password2_expired = 5 ! Secondary password expired on login PARAMETER acmelgiflg$S_password2_warning = 1 PARAMETER acmelgiflg$V_password2_warning = 6 ! Secondary password expiration imminent BYTE %FILL (1) END MAP END UNION END STRUCTURE ! acmelgiflg PARAMETER acmelgiflg$k_length = '00000004'X PARAMETER acmelivms$k_minor_id_000 = '00000000'X PARAMETER acmelivms$k_minor_id = '00000000'X PARAMETER acmelivms$k_major_id_001 = '00000001'X PARAMETER acmelivms$k_major_id = '00000001'X PARAMETER acmelivms$k_revision = '00000100'X STRUCTURE /acmelivms/ RECORD /acmeid/ acmelivms$l_acme_id ! ID of ACME which reported logon information INTEGER*4 acmelivms$l_phase ! Phase during which information was reported INTEGER*2 acmelivms$w_size ! Structure size, in bytes RECORD /acmerevlvl/ acmelivms$w_revision_level ! Structure revision level INTEGER*4 acmelivms$l_logfail_count ! Number of failed logon attempts RECORD /UTCBLK/ acmelivms$o_logon_int ! Time of last interactive logon RECORD /UTCBLK/ acmelivms$o_logon_nonint ! Time of last non-interactive logon END STRUCTURE ! acmelivms PARAMETER acmelivms$k_length = '00000030'X PARAMETER acmelidoi$k_minor_id_000 = '00000000'X PARAMETER acmelidoi$k_minor_id = '00000000'X PARAMETER acmelidoi$k_major_id_001 = '00000001'X PARAMETER acmelidoi$k_major_id = '00000001'X PARAMETER acmelidoi$k_revision = '00000100'X STRUCTURE /acmelidoi/ RECORD /acmeid/ acmelidoi$l_acme_id ! ID of ACME which reported logon information INTEGER*4 acmelidoi$l_phase ! Phase during which information was reported INTEGER*2 acmelidoi$w_size ! Structure size, in bytes RECORD /acmerevlvl/ acmelidoi$w_revision_level ! Structure revision level INTEGER*4 acmelidoi$l_logfail_count ! Number of failed logon attempts RECORD /UTCBLK/ acmelidoi$o_logon ! Time of last logon RECORD /UTCBLK/ acmelidoi$o_logon_int ! Time of last interactive logon RECORD /UTCBLK/ acmelidoi$o_logon_nonint ! Time of last non-interactive logon RECORD /UTCBLK/ acmelidoi$o_logfail ! Time of last logon failure RECORD /UTCBLK/ acmelidoi$o_logfail_int ! Time of last interactive logon failure RECORD /UTCBLK/ acmelidoi$o_logfail_nonint ! Time of last non-interactive logon failure END STRUCTURE ! acmelidoi PARAMETER acmelidoi$k_length = '00000070'X PARAMETER acmeli$k_minor_id_000 = '00000000'X PARAMETER acmeli$k_minor_id = '00000000'X PARAMETER acmeli$k_major_id_001 = '00000001'X PARAMETER acmeli$k_major_id = '00000001'X PARAMETER acmeli$k_revision = '00000100'X STRUCTURE /acmeli/ UNION MAP INTEGER*8 acmeli$pq_logon_info_doi64 END MAP ! Non-native (non-OpenVMS) logon information MAP INTEGER*4 acmeli$ps_logon_info_doi32 ! Non-native (non-OpenVMS) logon information INTEGER*4 acmeli$l_logon_info_doi32se ! Sign extension field END MAP END UNION INTEGER*2 acmeli$w_size ! Structure size, in bytes RECORD /acmerevlvl/ acmeli$w_revision_level ! Structure revision level RECORD /acmelgiflg/ acmeli$l_logon_flags ! Logon flags UNION MAP INTEGER*8 acmeli$pq_logon_info_vms64 END MAP ! Native (OpenVMS) logon information MAP INTEGER*4 acmeli$ps_logon_info_vms32 ! Native (OpenVMS) logon information INTEGER*4 acmeli$l_logon_info_vms32se ! Sign extension field END MAP END UNION RECORD /acmelivms/ acmeli$r_logon_info_vms ! Native (OpenVMS) logon information RECORD /acmelidoi/ acmeli$r_logon_info_doi ! Non-native (non-OpenVMS) logon information END STRUCTURE ! acmeli PARAMETER acmeli$k_length = '000000B8'X PARAMETER acme$k_query_revision_level = '00000001'X ! Service revision level PARAMETER acme$k_query_acme_count = '00000002'X ! Number of registered agents PARAMETER acme$k_query_acme_id = '00000003'X ! Specify/report agent id PARAMETER acme$k_query_acme_name = '00000004'X ! Specify/reprot agent name PARAMETER acme$k_service_revision_001_000 = '00000100'X ! ! Pre-$ACM definitions... ! ! Definitions for the $AUTHENTICATE[W], $LOGON[W], and $SET_PASSWORD[W] ! system services. ! ! ! $LOGON[W] function codes. ! PARAMETER ACME$_MAP_TO_USERNAME = '00000001'X ! Map userid to username PARAMETER ACME$_VERIFY_PASSWORD_ONLY = '00000002'X ! Authenticate password PARAMETER ACME$_MAX_FUNCTION_CODE = '00000003'X ! maximum legal function code + 1 ! ! Item codes. Codes specific to a particular service are noted: ! ! $AU = $AUTHENTICATE[W] ! $LO = $LOGON[W] ! $SP = $SET_PASSWORD[W] ! PARAMETER ACME$_DOMAIN = '00000002'X ! Authentication domain PARAMETER ACME$_USERID = '00000003'X ! User ID PARAMETER ACME$_PASSWORD = '00000004'X ! Single password PARAMETER ACME$_PASSWORD_LIST = '00000005'X ! Password list PARAMETER ACME$_NEW_PASSWORD = '00000006'X ! New password ($SP) PARAMETER ACME$_OUTPUT_VMS_USERNAME = '00000007'X ! Mapped OpenVMS username ($LO) PARAMETER ACME$_NOAUTHENTICATION = '00000008'X ! No password authentication ($SP) PARAMETER ACME$_OVERRIDE_POLICY = '00000009'X ! Override password policy ($SP) PARAMETER ACME$_SYNCHRONIZE = '0000000A'X ! Set password in all domains ($SP) PARAMETER ACME$_REASON_CODE = '0000000B'X ! ACME-specific reason code PARAMETER ACME$_VALIDATE_ONLY = '0000000C'X ! Validate user can login ($LO) PARAMETER ACME$_UAF_RECORD_LOCKED = '0000000D'X ! Advisory that UAF record is locked ($LO) PARAMETER ACME$_RESERVED_ITEM_1 = '0000000E'X ! Reserved 1 PARAMETER ACME$_RESERVED_ITEM_2 = '0000000F'X ! Reserved 2 PARAMETER ACME$_MAX_ITEM_CODE = '00000010'X ! maximum legal item code + 1 ! ! Structures and constants. ! PARAMETER ACME$C_MAJOR_VERSION = '00000001'X ! Major ACME version PARAMETER ACME$C_MINOR_VERSION = '00000000'X ! Minor ACME version PARAMETER ACME$S_MAX_DOMAIN = '00000100'X ! Maximum domain length PARAMETER ACME$S_MAX_USERID = '00000100'X ! Maximum userid length PARAMETER ACME$S_MAX_PASSWORD = '00000100'X ! Maximum password length ! ! The PASSWORD_LIST item code requires a list of password items with each ! item specified by a PWDITM structure definition. The list is terminated ! by a longword zero. ! STRUCTURE /ACME$R_PWDITM/ UNION MAP INTEGER*4 ACME$L_TERMINATOR ! Termination longword END MAP MAP INTEGER*2 ACME$W_PWDNUM ! Password number (1=primary, etc.) INTEGER*2 ACME$W_RSRVD1 ! reserved for future use, MBZ END MAP END UNION INTEGER*4 ACME$A_OLDPWD ! Descriptor address for old password INTEGER*4 ACME$A_NEWPWD ! Descriptor address for new password END STRUCTURE ! ACME$R_PWDITM ! ! Maximum password number to be used in password list ! PARAMETER ACME$C_MAX_PASSWORD_NUM = '00000008'X !DEC$ END OPTIONS