! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! ! Item code biasing factors ! ! Backward-compatibility ! Not for initial call ! Contemporary supported ! $CREPRC argument items ! UAI data ! ! ACME-specific output data types ! ! These codes are provided by the VMS ACME for return ! in field MAX_LENGTH of an output Item Set. ! ! The field MAX_LENGTH is named for its purpose within ! Input Item Sets, but for Output Item Sets it allows ! SYS$ACM[W] clients to categorize the output they receive ! and dispatch to specialized handling. ! ! These ACME-specific values are provided only where the caller ! is one the VMS ACME knows can handle these particular binary ! codes, i.e. LOGINOUT. ! ! These data types are defined exclusively to provide backward compatibility ! with interface methods used prior to the introduction of SYS$ACM[W] by ! TNT$SERVER, LOGINOUT LGI-callouts and LOGINOUT DECwindows interfaces. ! They will not be provided to other clients which call SYS$ACM[W]. ! DECLARE LONG CONSTANT acmevms$k_min_msg_type = 32768 DECLARE LONG CONSTANT acmevms$k_old_decw_pwd_exp_1 = 32768 ! Binary expiration warning DECLARE LONG CONSTANT acmevms$k_old_decw_pwd_exp_2 = 32769 ! Binary expiration warning DECLARE LONG CONSTANT acmevms$k_old_decw_pwd_quality = 32770 ! Binary password quality status DECLARE LONG CONSTANT acmevms$k_old_sysuaf_070 = 32771 ! Authorization Record DECLARE LONG CONSTANT acmevms$k_old_auth_flags = 32772 ! Password requirement flags DECLARE LONG CONSTANT acmevms$k_old_terminal_connect = 32773 ! UIC, Username and Account DECLARE LONG CONSTANT acmevms$k_max_msg_type = 32773 ! ! ACME-specific Item Codes for the VMS ACME ! ! Items with these codes from the callr of SYS$ACM[W] will ! be provided to the VMS ACME (exclusively) if they follow ! an instance of General Item Code ACME_TARGET_ACME_ID which ! specifies the VMS ACME. ! ! ACME-specific Item Codes have the high bit (15) set, whereas ! General Item Codes have it clear. ! ! ! Input Item Codes ! ! While SYS$ACM does not specify semantics for the handling ! of multiple input item codes of the same value, the semantics ! of the VMS ACME are uniform for all input item codes -- ! the value associated with the last input item prevails. ! ! ! Input item codes not subject to VTF-7 <-> UCS conversion ! ! ! Backward-compatibility Input Item Codes ! ! These codes are defined exclusively to provide backward compatibility ! with interface methods used prior to the introduction of SYS$ACM[W] by ! TNT$SERVER, LOGINOUT LGI-callouts and LOGINOUT DECwindows interfaces. ! They will not be honored from other clients which call SYS$ACM[W]. ! DECLARE LONG CONSTANT acmevms$_min_old_in = 32768 DECLARE LONG CONSTANT acmevms$_old_decwindows_flag = 32768 ! old DECwindows authentication mechanism DECLARE LONG CONSTANT acmevms$_old_hashed_password_1 = 32769 ! old ARGUS authentication mechanism DECLARE LONG CONSTANT acmevms$_old_hashed_password_2 = 32770 ! old ARGUS authentication mechanism DECLARE LONG CONSTANT acmevms$_old_lgi_phase = 32771 ! old LGI-callout authentication mechanism DECLARE LONG CONSTANT acmevms$_old_lgi_status = 32772 ! old LGI-callout authentication mechanism DECLARE LONG CONSTANT acmevms$_max_old_in = 32772 ! ! Solicited Input Item Codes ! ! These codes support historic LOGINOUT behavour and in addition to ! being retricted to LOGINOUT are not honored on initial calls from ! LOGINOUT. They can only be provided in response to an Input Item Set. ! DECLARE LONG CONSTANT acmevms$_min_solicited_in = 33024 DECLARE LONG CONSTANT acmevms$_loginout_cli_flags = 33024 ! LOGINOUT received these qualifiers DECLARE LONG CONSTANT acmevms$_old_connection_flag = 33025 ! LOGINOUT did a reconnection DECLARE LONG CONSTANT acmevms$_old_process_name = 33026 ! the process name after LOGINOUT $SETPRN DECLARE LONG CONSTANT acmevms$_max_solicited_in = 33026 ! ! General Input Items ! ! These non-converting input item codes are permanent features ! of the VMS ACME, although some require particular privileges. ! ! LOGINOUT_CREPRC_FLAGS is only honored from LOGINOUT, although ! other clients can achieve the same results using other Item Codes. ! The reason LOGINOUT_CREPRC_FLAGS exists is to minimize coding ! changes for the transition of LOGINOUT to using SYS$ACM[W]. ! DECLARE LONG CONSTANT acmevms$_min_general_in = 33280 DECLARE LONG CONSTANT acmevms$_autologin_allowed_flag = 33280 ! autologin is allowed for this request DECLARE LONG CONSTANT acmevms$_spare_1 = 33281 ! originally default_principal_flag DECLARE LONG CONSTANT acmevms$_genpwd_count = 33282 ! desired number of generated passwords DECLARE LONG CONSTANT acmevms$_genpwd_mandatory_flag = 33283 ! generated password must be chosen DECLARE LONG CONSTANT acmevms$_genpwd_maxlength = 33284 ! maximum length of generated password DECLARE LONG CONSTANT acmevms$_genpwd_minlength = 33285 ! minimum length of generated password DECLARE LONG CONSTANT acmevms$_loginout_creprc_flags = 33286 ! CTL$GL_CREPRC_FLAGS from LOGINOUT DECLARE LONG CONSTANT acmevms$_requestor_pid = 33287 ! PID of client process (make spare after Kestrel) DECLARE LONG CONSTANT acmevms$_preauthentication_flag = 33288 ! preauthenticated request DECLARE LONG CONSTANT acmevms$_uses_system_password = 33289 ! this connection uses system passwords DECLARE LONG CONSTANT acmevms$_requestor_uic = 33290 ! UIC of client process (make spare after Kestrel) DECLARE LONG CONSTANT acmevms$_max_general_in = 33290 ! ! Input item codes subject to VTF-7 <-> UCS conversion ! DECLARE LONG CONSTANT acmevms$_min_general_in_ucs = 41472 DECLARE LONG CONSTANT acmevms$_net_proxy = 41472 ! network proxy username string from LOGINOUT DECLARE LONG CONSTANT acmevms$_requestor_username = 41473 ! Username of client process (make spare after Kestrel) DECLARE LONG CONSTANT acmevms$_confirm_password_sys = 41474 ! Reenter New System Password DECLARE LONG CONSTANT acmevms$_confirm_password_1 = 41475 ! Reenter New Primary Password DECLARE LONG CONSTANT acmevms$_confirm_password_2 = 41476 ! Reenter New Secondary Password DECLARE LONG CONSTANT acmevms$_max_general_in_ucs = 41476 ! ! Output Item Codes ! ! While SYS$ACM does not specify semantics for the handling ! of multiple output item codes of the same value, the semantics ! of the VMS ACME are uniform for all output item codes -- ! all such codes are honored independently. ! ! ! Output item codes not subject to VTF-7 <-> UCS conversion ! ! ! General Output Items ! ! These non-converting output item codes are permanent features ! of the VMS ACME. ! DECLARE LONG CONSTANT acmevms$_min_general_out = 49664 DECLARE LONG CONSTANT acmevms$_class_days = 49664 ! primary days for the scheduler class DECLARE LONG CONSTANT acmevms$_class_flags = 49665 ! flags for the scheduler class DECLARE LONG CONSTANT acmevms$_class_number = 49666 ! number of the scheduler class DECLARE LONG CONSTANT acmevms$_class_primeday_limit = 49667 ! hourly quantum percentage on primary day DECLARE LONG CONSTANT acmevms$_class_seconday_limit = 49668 ! hourly quantum percentage on secondary day DECLARE LONG CONSTANT acmevms$_max_general_out = 49668 ! ! CREPRC-based output items ! ! These Output Item Codes provide information in a format suitable ! for passing to the $CREPRC System service, freeing callers of any ! need to track the introduction of new VMS process quotas. ! DECLARE LONG CONSTANT acmevms$_min_creprc_out = 49920 DECLARE LONG CONSTANT acmevms$_creprc_baspri = 49920 ! Process base priority DECLARE LONG CONSTANT acmevms$_creprc_image = 49921 ! Image name (LOGINOUT) DECLARE LONG CONSTANT acmevms$_creprc_prcnam = 49922 ! Process name (blank) DECLARE LONG CONSTANT acmevms$_creprc_prvadr = 49923 ! Process privilege DECLARE LONG CONSTANT acmevms$_creprc_quota = 49924 ! Process quota list DECLARE LONG CONSTANT acmevms$_creprc_uic = 49925 ! UIC for detached process DECLARE LONG CONSTANT acmevms$_max_creprc_out = 49925 ! ! UAI-based output items ! ! These codes provide the same information returned by $GETUAI, ! but synchronized with the UAI data as used for authentication. ! ! Correspondence between these codes and those from UAIDEF is ! tested in the private part of module STARLET_WE_USE_ by arrays ! ENSURE_UAI_NO_BIGGER_THAN_ACMEVMS_UAI and also by the array ! ENSURE_ACMEVMS_UAI_NO_BIGGER_THAN_UAI. ! ! The UAI_BASE constant defined below, added to normal UAI$_ codes ! used for the $SETUAI and $GETUAI system services will produce ! the following values: ! DECLARE LONG CONSTANT acmevms$_min_uai_out = 50176 DECLARE LONG CONSTANT acmevms$_uai_rtype = 50176 ! UAF record type DECLARE LONG CONSTANT acmevms$_uai_version = 50177 ! UAF format version DECLARE LONG CONSTANT acmevms$_uai_usrdatoff = 50178 ! offset of counted string of user data DECLARE LONG CONSTANT acmevms$_uai_username = 50179 ! username DECLARE LONG CONSTANT acmevms$_uai_username_tag = 50180 ! tag to differentiate records DECLARE LONG CONSTANT acmevms$_uai_uic = 50181 ! user ID code DECLARE LONG CONSTANT acmevms$_uai_mem = 50182 ! member subfield DECLARE LONG CONSTANT acmevms$_uai_grp = 50183 ! group subfield DECLARE LONG CONSTANT acmevms$_uai_sub_id = 50184 ! user sub-identifier DECLARE LONG CONSTANT acmevms$_uai_parent_id = 50185 ! identifier of owner of this account DECLARE LONG CONSTANT acmevms$_uai_account = 50186 ! account name DECLARE LONG CONSTANT acmevms$_uai_owner = 50187 ! owner's name DECLARE LONG CONSTANT acmevms$_uai_defdev = 50188 ! default device DECLARE LONG CONSTANT acmevms$_uai_defdir = 50189 ! default directory DECLARE LONG CONSTANT acmevms$_uai_lgicmd = 50190 ! login command file DECLARE LONG CONSTANT acmevms$_uai_defcli = 50191 ! default command interpreter DECLARE LONG CONSTANT acmevms$_uai_clitables = 50192 ! user CLI tables DECLARE LONG CONSTANT acmevms$_uai_pwd = 50193 ! hashed password DECLARE LONG CONSTANT acmevms$_uai_pwd2 = 50194 ! second password DECLARE LONG CONSTANT acmevms$_uai_logfails = 50195 ! count of login failures DECLARE LONG CONSTANT acmevms$_uai_salt = 50196 ! random password salt DECLARE LONG CONSTANT acmevms$_uai_encrypt = 50197 ! primary password hash algorithm DECLARE LONG CONSTANT acmevms$_uai_encrypt2 = 50198 ! secondary password hash algorithm DECLARE LONG CONSTANT acmevms$_uai_pwd_length = 50199 ! minimum password length DECLARE LONG CONSTANT acmevms$_uai_expiration = 50200 ! expiration date for account DECLARE LONG CONSTANT acmevms$_uai_pwd_lifetime = 50201 ! password lifetime DECLARE LONG CONSTANT acmevms$_uai_pwd_date = 50202 ! date of password change DECLARE LONG CONSTANT acmevms$_uai_pwd2_date = 50203 ! date of 2nd password change DECLARE LONG CONSTANT acmevms$_uai_lastlogin_i = 50204 ! date of last interactive login DECLARE LONG CONSTANT acmevms$_uai_lastlogin_n = 50205 ! date of last non-interactive login DECLARE LONG CONSTANT acmevms$_uai_priv = 50206 ! process privilege vector DECLARE LONG CONSTANT acmevms$_uai_def_priv = 50207 ! default process privileges DECLARE LONG CONSTANT acmevms$_uai_min_class = 50208 ! minimum security class DECLARE LONG CONSTANT acmevms$_uai_max_class = 50209 ! maximum security class DECLARE LONG CONSTANT acmevms$_uai_flags = 50210 ! user flags longword DECLARE LONG CONSTANT acmevms$_uai_network_access_p = 50211 ! hourly network access, primary DECLARE LONG CONSTANT acmevms$_uai_network_access_s = 50212 ! hourly network access, secondary DECLARE LONG CONSTANT acmevms$_uai_batch_access_p = 50213 ! hourly batch access, primary DECLARE LONG CONSTANT acmevms$_uai_batch_access_s = 50214 ! hourly batch access, secondary DECLARE LONG CONSTANT acmevms$_uai_local_access_p = 50215 ! hourly local access, primary DECLARE LONG CONSTANT acmevms$_uai_local_access_s = 50216 ! hourly local access, secondary DECLARE LONG CONSTANT acmevms$_uai_dialup_access_p = 50217 ! hourly dialup access, primary DECLARE LONG CONSTANT acmevms$_uai_dialup_access_s = 50218 ! hourly dialup access, secondary DECLARE LONG CONSTANT acmevms$_uai_remote_access_p = 50219 ! hourly remote access, primary DECLARE LONG CONSTANT acmevms$_uai_remote_access_s = 50220 ! hourly remote access, secondary DECLARE LONG CONSTANT acmevms$_uai_primedays = 50221 ! bits representing primary days DECLARE LONG CONSTANT acmevms$_uai_pri = 50222 ! base process priority DECLARE LONG CONSTANT acmevms$_uai_quepri = 50223 ! maximum job queuing priority DECLARE LONG CONSTANT acmevms$_uai_maxjobs = 50224 ! maximum jobs for UIC allowed DECLARE LONG CONSTANT acmevms$_uai_maxacctjobs = 50225 ! maximum jobs for account allowed DECLARE LONG CONSTANT acmevms$_uai_maxdetach = 50226 ! maximum detached processes for UIC DECLARE LONG CONSTANT acmevms$_uai_prccnt = 50227 ! subprocess creation limit DECLARE LONG CONSTANT acmevms$_uai_biolm = 50228 ! buffered I/O limit DECLARE LONG CONSTANT acmevms$_uai_diolm = 50229 ! direct I/O limit DECLARE LONG CONSTANT acmevms$_uai_tqcnt = 50230 ! timer queue entry limit DECLARE LONG CONSTANT acmevms$_uai_astlm = 50231 ! AST queue limit DECLARE LONG CONSTANT acmevms$_uai_enqlm = 50232 ! enqueue limit DECLARE LONG CONSTANT acmevms$_uai_fillm = 50233 ! open file limit DECLARE LONG CONSTANT acmevms$_uai_shrfillm = 50234 ! shared file limit DECLARE LONG CONSTANT acmevms$_uai_wsquota = 50235 ! working set size quota DECLARE LONG CONSTANT acmevms$_uai_dfwscnt = 50236 ! default working set size DECLARE LONG CONSTANT acmevms$_uai_wsextent = 50237 ! working set size limit DECLARE LONG CONSTANT acmevms$_uai_pgflquota = 50238 ! page file quota DECLARE LONG CONSTANT acmevms$_uai_cputim = 50239 ! CPU time quota DECLARE LONG CONSTANT acmevms$_uai_bytlm = 50240 ! buffered I/O byte count limit DECLARE LONG CONSTANT acmevms$_uai_pbytlm = 50241 ! paged buffer I/O byte count limit DECLARE LONG CONSTANT acmevms$_uai_jtquota = 50242 ! job-wide logical name table creation quota DECLARE LONG CONSTANT acmevms$_uai_proxy_lim = 50243 ! number of proxies user can grant DECLARE LONG CONSTANT acmevms$_uai_proxies = 50244 ! number of proxies granted DECLARE LONG CONSTANT acmevms$_uai_account_lim = 50245 ! number of sub-accounts allowed DECLARE LONG CONSTANT acmevms$_uai_accounts = 50246 ! number of sub-accounts in use DECLARE LONG CONSTANT acmevms$_uai_user_data = 50247 ! user data area ! Next two codes not supported for output DECLARE LONG CONSTANT acmevms$_uai_password = 50248 ! plaintext primary password DECLARE LONG CONSTANT acmevms$_uai_password2 = 50249 ! plaintext secondary password ! Previous two codes not supported for output DECLARE LONG CONSTANT acmevms$_uai_def_class = 50250 ! default security classification DECLARE LONG CONSTANT acmevms$_uai_audit_flags = 50251 ! audit flags to be used when changing data DECLARE LONG CONSTANT acmevms$_max_uai_out = 50251 ! ! Output item codes subject to VTF-7 <-> UCS conversion ! DECLARE LONG CONSTANT acmevms$_min_general_out_ucs = 57856 DECLARE LONG CONSTANT acmevms$_class_name = 57856 ! name of the scheduler class DECLARE LONG CONSTANT acmevms$_max_general_out_ucs = 57856 ! + ! ! Bit mask types ! ! - ! ! Flags indicating CLI qualifiers were supplied ! ! Most of these are passed to the VMS ACME to possibly ! trigger (audited) rejection of the login attempt. ! DECLARE LONG CONSTANT acmevms$m_disk = x'00000001' DECLARE LONG CONSTANT acmevms$m_cli = x'00000002' DECLARE LONG CONSTANT acmevms$m_tables = x'00000004' DECLARE LONG CONSTANT acmevms$m_command = x'00000008' DECLARE LONG CONSTANT acmevms$m_connect = x'00000010' DECLARE LONG CONSTANT acmevms$m_new_password = x'00000020' DECLARE LONG CONSTANT acmevms$m_local_password = x'00000040' DECLARE LONG CONSTANT acmevms$s_cli_flags = 4 record cli_flags ! /DISK= ! /CLI= ! /TABLES= ! /COMMAND= ! /CONNECT[=] ! /NEW_PASSWORD ! /LOCAL_PASSWORD LONG disk_bits ! COMMENT ADDED BY SDL - disk_bits contains bits disk through cli_flags_fill_1 end record cli_flags DECLARE LONG CONSTANT acmevms$k_length = 4 ! + ! ! Miscellaneous constants ! ! - ! Authentication mechanism for TNT$SERVER DECLARE LONG CONSTANT acmevms$k_auth_mech_argus = 13860864 ! Only for TNT$SERVER ! Base to which UAI$_ codes can be added for use in SYS$ACM[W] DECLARE LONG CONSTANT acmevms$k_uai_base = 50175 ! Item Code Base ! Maximum length (in characters) of a Mapped VMS Username DECLARE LONG CONSTANT acmevms$k_maxchar_vms_username = 32 ! in characters