!*** MODULE $acmevmsdef IDENT X-11 *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! 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]. ! PARAMETER acmevms$k_min_msg_type = '00008000'X PARAMETER acmevms$k_old_decw_pwd_exp_1 = '00008000'X ! Binary expiration warning PARAMETER acmevms$k_old_decw_pwd_exp_2 = '00008001'X ! Binary expiration warning PARAMETER acmevms$k_old_decw_pwd_quality = '00008002'X ! Binary password quality status PARAMETER acmevms$k_old_sysuaf_070 = '00008003'X ! Authorization Record PARAMETER acmevms$k_old_auth_flags = '00008004'X ! Password requirement flags PARAMETER acmevms$k_old_terminal_connect = '00008005'X ! UIC, Username and Account PARAMETER acmevms$k_max_msg_type = '00008005'X ! ! 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]. ! PARAMETER acmevms$_min_old_in = '00008000'X PARAMETER acmevms$_old_decwindows_flag = '00008000'X ! old DECwindows authentication mechanism PARAMETER acmevms$_old_hashed_password_1 = '00008001'X ! old ARGUS authentication mechanism PARAMETER acmevms$_old_hashed_password_2 = '00008002'X ! old ARGUS authentication mechanism PARAMETER acmevms$_old_lgi_phase = '00008003'X ! old LGI-callout authentication mechanism PARAMETER acmevms$_old_lgi_status = '00008004'X ! old LGI-callout authentication mechanism PARAMETER acmevms$_max_old_in = '00008004'X ! ! 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. ! PARAMETER acmevms$_min_solicited_in = '00008100'X PARAMETER acmevms$_loginout_cli_flags = '00008100'X ! LOGINOUT received these qualifiers PARAMETER acmevms$_old_connection_flag = '00008101'X ! LOGINOUT did a reconnection PARAMETER acmevms$_old_process_name = '00008102'X ! the process name after LOGINOUT $SETPRN PARAMETER acmevms$_max_solicited_in = '00008102'X ! ! 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]. ! PARAMETER acmevms$_min_general_in = '00008200'X PARAMETER acmevms$_autologin_allowed_flag = '00008200'X ! autologin is allowed for this request PARAMETER acmevms$_spare_1 = '00008201'X ! originally default_principal_flag PARAMETER acmevms$_genpwd_count = '00008202'X ! desired number of generated passwords PARAMETER acmevms$_genpwd_mandatory_flag = '00008203'X ! generated password must be chosen PARAMETER acmevms$_genpwd_maxlength = '00008204'X ! maximum length of generated password PARAMETER acmevms$_genpwd_minlength = '00008205'X ! minimum length of generated password PARAMETER acmevms$_loginout_creprc_flags = '00008206'X ! CTL$GL_CREPRC_FLAGS from LOGINOUT PARAMETER acmevms$_requestor_pid = '00008207'X ! PID of client process (make spare after Kestrel) PARAMETER acmevms$_preauthentication_flag = '00008208'X ! preauthenticated request PARAMETER acmevms$_uses_system_password = '00008209'X ! this connection uses system passwords PARAMETER acmevms$_requestor_uic = '0000820A'X ! UIC of client process (make spare after Kestrel) PARAMETER acmevms$_max_general_in = '0000820A'X ! ! Input item codes subject to VTF-7 <-> UCS conversion ! PARAMETER acmevms$_min_general_in_ucs = '0000A200'X PARAMETER acmevms$_net_proxy = '0000A200'X ! network proxy username string from LOGINOUT PARAMETER acmevms$_requestor_username = '0000A201'X ! Username of client process (make spare afte PARAMETER acmevms$_confirm_password_sys = '0000A202'X ! Reenter New System Password PARAMETER acmevms$_confirm_password_1 = '0000A203'X ! Reenter New Primary Password PARAMETER acmevms$_confirm_password_2 = '0000A204'X ! Reenter New Secondary Password PARAMETER acmevms$_max_general_in_ucs = '0000A204'X ! ! 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. ! PARAMETER acmevms$_min_general_out = '0000C200'X PARAMETER acmevms$_class_days = '0000C200'X ! primary days for the scheduler class PARAMETER acmevms$_class_flags = '0000C201'X ! flags for the scheduler class PARAMETER acmevms$_class_number = '0000C202'X ! number of the scheduler class PARAMETER acmevms$_class_primeday_limit = '0000C203'X ! hourly quantum percentage on primary day PARAMETER acmevms$_class_seconday_limit = '0000C204'X ! hourly quantum percentage on secondary day PARAMETER acmevms$_max_general_out = '0000C204'X ! ! 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. ! PARAMETER acmevms$_min_creprc_out = '0000C300'X PARAMETER acmevms$_creprc_baspri = '0000C300'X ! Process base priority PARAMETER acmevms$_creprc_image = '0000C301'X ! Image name (LOGINOUT) PARAMETER acmevms$_creprc_prcnam = '0000C302'X ! Process name (blank) PARAMETER acmevms$_creprc_prvadr = '0000C303'X ! Process privilege PARAMETER acmevms$_creprc_quota = '0000C304'X ! Process quota list PARAMETER acmevms$_creprc_uic = '0000C305'X ! UIC for detached process PARAMETER acmevms$_max_creprc_out = '0000C305'X ! ! 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: ! PARAMETER acmevms$_min_uai_out = '0000C400'X PARAMETER acmevms$_uai_rtype = '0000C400'X ! UAF record type PARAMETER acmevms$_uai_version = '0000C401'X ! UAF format version PARAMETER acmevms$_uai_usrdatoff = '0000C402'X ! offset of counted string of user data PARAMETER acmevms$_uai_username = '0000C403'X ! username PARAMETER acmevms$_uai_username_tag = '0000C404'X ! tag to differentiate records PARAMETER acmevms$_uai_uic = '0000C405'X ! user ID code PARAMETER acmevms$_uai_mem = '0000C406'X ! member subfield PARAMETER acmevms$_uai_grp = '0000C407'X ! group subfield PARAMETER acmevms$_uai_sub_id = '0000C408'X ! user sub-identifier PARAMETER acmevms$_uai_parent_id = '0000C409'X ! identifier of owner of this account PARAMETER acmevms$_uai_account = '0000C40A'X ! account name PARAMETER acmevms$_uai_owner = '0000C40B'X ! owner's name PARAMETER acmevms$_uai_defdev = '0000C40C'X ! default device PARAMETER acmevms$_uai_defdir = '0000C40D'X ! default directory PARAMETER acmevms$_uai_lgicmd = '0000C40E'X ! login command file PARAMETER acmevms$_uai_defcli = '0000C40F'X ! default command interpreter PARAMETER acmevms$_uai_clitables = '0000C410'X ! user CLI tables PARAMETER acmevms$_uai_pwd = '0000C411'X ! hashed password PARAMETER acmevms$_uai_pwd2 = '0000C412'X ! second password PARAMETER acmevms$_uai_logfails = '0000C413'X ! count of login failures PARAMETER acmevms$_uai_salt = '0000C414'X ! random password salt PARAMETER acmevms$_uai_encrypt = '0000C415'X ! primary password hash algorithm PARAMETER acmevms$_uai_encrypt2 = '0000C416'X ! secondary password hash algorithm PARAMETER acmevms$_uai_pwd_length = '0000C417'X ! minimum password length PARAMETER acmevms$_uai_expiration = '0000C418'X ! expiration date for account PARAMETER acmevms$_uai_pwd_lifetime = '0000C419'X ! password lifetime PARAMETER acmevms$_uai_pwd_date = '0000C41A'X ! date of password change PARAMETER acmevms$_uai_pwd2_date = '0000C41B'X ! date of 2nd password change PARAMETER acmevms$_uai_lastlogin_i = '0000C41C'X ! date of last interactive login PARAMETER acmevms$_uai_lastlogin_n = '0000C41D'X ! date of last non-interactive login PARAMETER acmevms$_uai_priv = '0000C41E'X ! process privilege vector PARAMETER acmevms$_uai_def_priv = '0000C41F'X ! default process privileges PARAMETER acmevms$_uai_min_class = '0000C420'X ! minimum security class PARAMETER acmevms$_uai_max_class = '0000C421'X ! maximum security class PARAMETER acmevms$_uai_flags = '0000C422'X ! user flags longword PARAMETER acmevms$_uai_network_access_p = '0000C423'X ! hourly network access, primary PARAMETER acmevms$_uai_network_access_s = '0000C424'X ! hourly network access, secondary PARAMETER acmevms$_uai_batch_access_p = '0000C425'X ! hourly batch access, primary PARAMETER acmevms$_uai_batch_access_s = '0000C426'X ! hourly batch access, secondary PARAMETER acmevms$_uai_local_access_p = '0000C427'X ! hourly local access, primary PARAMETER acmevms$_uai_local_access_s = '0000C428'X ! hourly local access, secondary PARAMETER acmevms$_uai_dialup_access_p = '0000C429'X ! hourly dialup access, primary PARAMETER acmevms$_uai_dialup_access_s = '0000C42A'X ! hourly dialup access, secondary PARAMETER acmevms$_uai_remote_access_p = '0000C42B'X ! hourly remote access, primary PARAMETER acmevms$_uai_remote_access_s = '0000C42C'X ! hourly remote access, secondary PARAMETER acmevms$_uai_primedays = '0000C42D'X ! bits representing primary days PARAMETER acmevms$_uai_pri = '0000C42E'X ! base process priority PARAMETER acmevms$_uai_quepri = '0000C42F'X ! maximum job queuing priority PARAMETER acmevms$_uai_maxjobs = '0000C430'X ! maximum jobs for UIC allowed PARAMETER acmevms$_uai_maxacctjobs = '0000C431'X ! maximum jobs for account allowed PARAMETER acmevms$_uai_maxdetach = '0000C432'X ! maximum detached processes for UIC PARAMETER acmevms$_uai_prccnt = '0000C433'X ! subprocess creation limit PARAMETER acmevms$_uai_biolm = '0000C434'X ! buffered I/O limit PARAMETER acmevms$_uai_diolm = '0000C435'X ! direct I/O limit PARAMETER acmevms$_uai_tqcnt = '0000C436'X ! timer queue entry limit PARAMETER acmevms$_uai_astlm = '0000C437'X ! AST queue limit PARAMETER acmevms$_uai_enqlm = '0000C438'X ! enqueue limit PARAMETER acmevms$_uai_fillm = '0000C439'X ! open file limit PARAMETER acmevms$_uai_shrfillm = '0000C43A'X ! shared file limit PARAMETER acmevms$_uai_wsquota = '0000C43B'X ! working set size quota PARAMETER acmevms$_uai_dfwscnt = '0000C43C'X ! default working set size PARAMETER acmevms$_uai_wsextent = '0000C43D'X ! working set size limit PARAMETER acmevms$_uai_pgflquota = '0000C43E'X ! page file quota PARAMETER acmevms$_uai_cputim = '0000C43F'X ! CPU time quota PARAMETER acmevms$_uai_bytlm = '0000C440'X ! buffered I/O byte count limit PARAMETER acmevms$_uai_pbytlm = '0000C441'X ! paged buffer I/O byte count limit PARAMETER acmevms$_uai_jtquota = '0000C442'X ! job-wide logical name table creation quota PARAMETER acmevms$_uai_proxy_lim = '0000C443'X ! number of proxies user can grant PARAMETER acmevms$_uai_proxies = '0000C444'X ! number of proxies granted PARAMETER acmevms$_uai_account_lim = '0000C445'X ! number of sub-accounts allowed PARAMETER acmevms$_uai_accounts = '0000C446'X ! number of sub-accounts in use PARAMETER acmevms$_uai_user_data = '0000C447'X ! user data area ! Next two codes not supported for output PARAMETER acmevms$_uai_password = '0000C448'X ! plaintext primary password PARAMETER acmevms$_uai_password2 = '0000C449'X ! plaintext secondary password ! Previous two codes not supported for output PARAMETER acmevms$_uai_def_class = '0000C44A'X ! default security classification PARAMETER acmevms$_uai_audit_flags = '0000C44B'X ! audit flags to be used when changing data PARAMETER acmevms$_max_uai_out = '0000C44B'X ! ! Output item codes subject to VTF-7 <-> UCS conversion ! PARAMETER acmevms$_min_general_out_ucs = '0000E200'X PARAMETER acmevms$_class_name = '0000E200'X ! name of the scheduler class PARAMETER acmevms$_max_general_out_ucs = '0000E200'X ! + ! ! 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. ! PARAMETER acmevms$m_disk = '00000001'X PARAMETER acmevms$m_cli = '00000002'X PARAMETER acmevms$m_tables = '00000004'X PARAMETER acmevms$m_command = '00000008'X PARAMETER acmevms$m_connect = '00000010'X PARAMETER acmevms$m_new_password = '00000020'X PARAMETER acmevms$m_local_password = '00000040'X STRUCTURE /cli_flags/ PARAMETER acmevms$S_disk = 1 PARAMETER acmevms$V_disk = 0 ! /DISK= PARAMETER acmevms$S_cli = 1 PARAMETER acmevms$V_cli = 1 ! /CLI= PARAMETER acmevms$S_tables = 1 PARAMETER acmevms$V_tables = 2 ! /TABLES= PARAMETER acmevms$S_command = 1 PARAMETER acmevms$V_command = 3 ! /COMMAND= PARAMETER acmevms$S_connect = 1 PARAMETER acmevms$V_connect = 4 ! /CONNECT[=] PARAMETER acmevms$S_new_password = 1 PARAMETER acmevms$V_new_password = 5 ! /NEW_PASSWORD PARAMETER acmevms$S_local_password = 1 PARAMETER acmevms$V_local_password = 6 ! /LOCAL_PASSWORD BYTE %FILL (1) END STRUCTURE ! cli_flags PARAMETER acmevms$k_length = '00000004'X ! + ! ! Miscellaneous constants ! ! - ! Authentication mechanism for TNT$SERVER PARAMETER acmevms$k_auth_mech_argus = '00D38000'X ! Only for TNT$SERVER ! Base to which UAI$_ codes can be added for use in SYS$ACM[W] PARAMETER acmevms$k_uai_base = '0000C3FF'X ! Item Code Base ! Maximum length (in characters) of a Mapped VMS Username PARAMETER acmevms$k_maxchar_vms_username = '00000020'X ! in characters !DEC$ END OPTIONS