--******************************************************************************************************************** -- Created: 30-Mar-2010 17:01:46 by OpenVMS SDL EV3-3 -- Source: 29-JUN-2000 10:17:10 $1$DGA7274:[STARLET_ADA.LIS]ACMEVMSDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; with ACMEDEF;use ACMEDEF; with UTCBLKDEF;use UTCBLKDEF; package ACMEVMSDEF is -- module $acmevmsdef IDENT X-11 -- -- 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]. -- ACMEVMS_K_MIN_MSG_TYPE : constant := 32768; ACMEVMS_K_OLD_DECW_PWD_EXP_1 : constant := 32768; -- Binary expiration warning ACMEVMS_K_OLD_DECW_PWD_EXP_2 : constant := 32769; -- Binary expiration warning ACMEVMS_K_OLD_DECW_PWD_QUALITY : constant := 32770; -- Binary password quality status ACMEVMS_K_OLD_SYSUAF_070 : constant := 32771; -- Authorization Record ACMEVMS_K_OLD_AUTH_FLAGS : constant := 32772; -- Password requirement flags ACMEVMS_K_OLD_TERMINAL_CONNECT : constant := 32773; -- UIC, Username and Account ACMEVMS_K_MAX_MSG_TYPE : constant := 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]. -- ACMEVMS_MIN_OLD_IN : constant := 32768; ACMEVMS_OLD_DECWINDOWS_FLAG : constant := 32768; -- old DECwindows authentication mechanism ACMEVMS_OLD_HASHED_PASSWORD_1 : constant := 32769; -- old ARGUS authentication mechanism ACMEVMS_OLD_HASHED_PASSWORD_2 : constant := 32770; -- old ARGUS authentication mechanism ACMEVMS_OLD_LGI_PHASE : constant := 32771; -- old LGI-callout authentication mechanism ACMEVMS_OLD_LGI_STATUS : constant := 32772; -- old LGI-callout authentication mechanism ACMEVMS_MAX_OLD_IN : constant := 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. -- ACMEVMS_MIN_SOLICITED_IN : constant := 33024; ACMEVMS_LOGINOUT_CLI_FLAGS : constant := 33024; -- LOGINOUT received these qualifiers ACMEVMS_OLD_CONNECTION_FLAG : constant := 33025; -- LOGINOUT did a reconnection ACMEVMS_OLD_PROCESS_NAME : constant := 33026; -- the process name after LOGINOUT $SETPRN ACMEVMS_MAX_SOLICITED_IN : constant := 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]. -- ACMEVMS_MIN_GENERAL_IN : constant := 33280; ACMEVMS_AUTOLOGIN_ALLOWED_FLAG : constant := 33280; -- autologin is allowed for this request ACMEVMS_SPARE_1 : constant := 33281; -- originally default_principal_flag ACMEVMS_GENPWD_COUNT : constant := 33282; -- desired number of generated passwords ACMEVMS_GENPWD_MANDATORY_FLAG : constant := 33283; -- generated password must be chosen ACMEVMS_GENPWD_MAXLENGTH : constant := 33284; -- maximum length of generated password ACMEVMS_GENPWD_MINLENGTH : constant := 33285; -- minimum length of generated password ACMEVMS_LOGINOUT_CREPRC_FLAGS : constant := 33286; -- CTL$GL_CREPRC_FLAGS from LOGINOUT ACMEVMS_REQUESTOR_PID : constant := 33287; -- PID of client process (make spare after Kestrel) ACMEVMS_PREAUTHENTICATION_FLAG : constant := 33288; -- preauthenticated request ACMEVMS_USES_SYSTEM_PASSWORD : constant := 33289; -- this connection uses system passwords ACMEVMS_REQUESTOR_UIC : constant := 33290; -- UIC of client process (make spare after Kestrel) ACMEVMS_MAX_GENERAL_IN : constant := 33290; -- -- Input item codes subject to VTF-7 <-> UCS conversion -- ACMEVMS_MIN_GENERAL_IN_UCS : constant := 41472; ACMEVMS_NET_PROXY : constant := 41472; -- network proxy username string from LOGINOUT ACMEVMS_REQUESTOR_USERNAME : constant := 41473; -- Username of client process (make spare after Kestrel) ACMEVMS_CONFIRM_PASSWORD_SYS : constant := 41474; -- Reenter New System Password ACMEVMS_CONFIRM_PASSWORD_1 : constant := 41475; -- Reenter New Primary Password ACMEVMS_CONFIRM_PASSWORD_2 : constant := 41476; -- Reenter New Secondary Password ACMEVMS_MAX_GENERAL_IN_UCS : constant := 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. -- ACMEVMS_MIN_GENERAL_OUT : constant := 49664; ACMEVMS_CLASS_DAYS : constant := 49664; -- primary days for the scheduler class ACMEVMS_CLASS_FLAGS : constant := 49665; -- flags for the scheduler class ACMEVMS_CLASS_NUMBER : constant := 49666; -- number of the scheduler class ACMEVMS_CLASS_PRIMEDAY_LIMIT : constant := 49667; -- hourly quantum percentage on primary day ACMEVMS_CLASS_SECONDAY_LIMIT : constant := 49668; -- hourly quantum percentage on secondary day ACMEVMS_MAX_GENERAL_OUT : constant := 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. -- ACMEVMS_MIN_CREPRC_OUT : constant := 49920; ACMEVMS_CREPRC_BASPRI : constant := 49920; -- Process base priority ACMEVMS_CREPRC_IMAGE : constant := 49921; -- Image name (LOGINOUT) ACMEVMS_CREPRC_PRCNAM : constant := 49922; -- Process name (blank) ACMEVMS_CREPRC_PRVADR : constant := 49923; -- Process privilege ACMEVMS_CREPRC_QUOTA : constant := 49924; -- Process quota list ACMEVMS_CREPRC_UIC : constant := 49925; -- UIC for detached process ACMEVMS_MAX_CREPRC_OUT : constant := 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: -- ACMEVMS_MIN_UAI_OUT : constant := 50176; ACMEVMS_UAI_RTYPE : constant := 50176; -- UAF record type ACMEVMS_UAI_VERSION : constant := 50177; -- UAF format version ACMEVMS_UAI_USRDATOFF : constant := 50178; -- offset of counted string of user data ACMEVMS_UAI_USERNAME : constant := 50179; -- username ACMEVMS_UAI_USERNAME_TAG : constant := 50180; -- tag to differentiate records ACMEVMS_UAI_UIC : constant := 50181; -- user ID code ACMEVMS_UAI_MEM : constant := 50182; -- member subfield ACMEVMS_UAI_GRP : constant := 50183; -- group subfield ACMEVMS_UAI_SUB_ID : constant := 50184; -- user sub-identifier ACMEVMS_UAI_PARENT_ID : constant := 50185; -- identifier of owner of this account ACMEVMS_UAI_ACCOUNT : constant := 50186; -- account name ACMEVMS_UAI_OWNER : constant := 50187; -- owner's name ACMEVMS_UAI_DEFDEV : constant := 50188; -- default device ACMEVMS_UAI_DEFDIR : constant := 50189; -- default directory ACMEVMS_UAI_LGICMD : constant := 50190; -- login command file ACMEVMS_UAI_DEFCLI : constant := 50191; -- default command interpreter ACMEVMS_UAI_CLITABLES : constant := 50192; -- user CLI tables ACMEVMS_UAI_PWD : constant := 50193; -- hashed password ACMEVMS_UAI_PWD2 : constant := 50194; -- second password ACMEVMS_UAI_LOGFAILS : constant := 50195; -- count of login failures ACMEVMS_UAI_SALT : constant := 50196; -- random password salt ACMEVMS_UAI_ENCRYPT : constant := 50197; -- primary password hash algorithm ACMEVMS_UAI_ENCRYPT2 : constant := 50198; -- secondary password hash algorithm ACMEVMS_UAI_PWD_LENGTH : constant := 50199; -- minimum password length ACMEVMS_UAI_EXPIRATION : constant := 50200; -- expiration date for account ACMEVMS_UAI_PWD_LIFETIME : constant := 50201; -- password lifetime ACMEVMS_UAI_PWD_DATE : constant := 50202; -- date of password change ACMEVMS_UAI_PWD2_DATE : constant := 50203; -- date of 2nd password change ACMEVMS_UAI_LASTLOGIN_I : constant := 50204; -- date of last interactive login ACMEVMS_UAI_LASTLOGIN_N : constant := 50205; -- date of last non-interactive login ACMEVMS_UAI_PRIV : constant := 50206; -- process privilege vector ACMEVMS_UAI_DEF_PRIV : constant := 50207; -- default process privileges ACMEVMS_UAI_MIN_CLASS : constant := 50208; -- minimum security class ACMEVMS_UAI_MAX_CLASS : constant := 50209; -- maximum security class ACMEVMS_UAI_FLAGS : constant := 50210; -- user flags longword ACMEVMS_UAI_NETWORK_ACCESS_P : constant := 50211; -- hourly network access, primary ACMEVMS_UAI_NETWORK_ACCESS_S : constant := 50212; -- hourly network access, secondary ACMEVMS_UAI_BATCH_ACCESS_P : constant := 50213; -- hourly batch access, primary ACMEVMS_UAI_BATCH_ACCESS_S : constant := 50214; -- hourly batch access, secondary ACMEVMS_UAI_LOCAL_ACCESS_P : constant := 50215; -- hourly local access, primary ACMEVMS_UAI_LOCAL_ACCESS_S : constant := 50216; -- hourly local access, secondary ACMEVMS_UAI_DIALUP_ACCESS_P : constant := 50217; -- hourly dialup access, primary ACMEVMS_UAI_DIALUP_ACCESS_S : constant := 50218; -- hourly dialup access, secondary ACMEVMS_UAI_REMOTE_ACCESS_P : constant := 50219; -- hourly remote access, primary ACMEVMS_UAI_REMOTE_ACCESS_S : constant := 50220; -- hourly remote access, secondary ACMEVMS_UAI_PRIMEDAYS : constant := 50221; -- bits representing primary days ACMEVMS_UAI_PRI : constant := 50222; -- base process priority ACMEVMS_UAI_QUEPRI : constant := 50223; -- maximum job queuing priority ACMEVMS_UAI_MAXJOBS : constant := 50224; -- maximum jobs for UIC allowed ACMEVMS_UAI_MAXACCTJOBS : constant := 50225; -- maximum jobs for account allowed ACMEVMS_UAI_MAXDETACH : constant := 50226; -- maximum detached processes for UIC ACMEVMS_UAI_PRCCNT : constant := 50227; -- subprocess creation limit ACMEVMS_UAI_BIOLM : constant := 50228; -- buffered I/O limit ACMEVMS_UAI_DIOLM : constant := 50229; -- direct I/O limit ACMEVMS_UAI_TQCNT : constant := 50230; -- timer queue entry limit ACMEVMS_UAI_ASTLM : constant := 50231; -- AST queue limit ACMEVMS_UAI_ENQLM : constant := 50232; -- enqueue limit ACMEVMS_UAI_FILLM : constant := 50233; -- open file limit ACMEVMS_UAI_SHRFILLM : constant := 50234; -- shared file limit ACMEVMS_UAI_WSQUOTA : constant := 50235; -- working set size quota ACMEVMS_UAI_DFWSCNT : constant := 50236; -- default working set size ACMEVMS_UAI_WSEXTENT : constant := 50237; -- working set size limit ACMEVMS_UAI_PGFLQUOTA : constant := 50238; -- page file quota ACMEVMS_UAI_CPUTIM : constant := 50239; -- CPU time quota ACMEVMS_UAI_BYTLM : constant := 50240; -- buffered I/O byte count limit ACMEVMS_UAI_PBYTLM : constant := 50241; -- paged buffer I/O byte count limit ACMEVMS_UAI_JTQUOTA : constant := 50242; -- job-wide logical name table creation quota ACMEVMS_UAI_PROXY_LIM : constant := 50243; -- number of proxies user can grant ACMEVMS_UAI_PROXIES : constant := 50244; -- number of proxies granted ACMEVMS_UAI_ACCOUNT_LIM : constant := 50245; -- number of sub-accounts allowed ACMEVMS_UAI_ACCOUNTS : constant := 50246; -- number of sub-accounts in use ACMEVMS_UAI_USER_DATA : constant := 50247; -- user data area -- Next two codes not supported for output ACMEVMS_UAI_PASSWORD : constant := 50248; -- plaintext primary password ACMEVMS_UAI_PASSWORD2 : constant := 50249; -- plaintext secondary password -- Previous two codes not supported for output ACMEVMS_UAI_DEF_CLASS : constant := 50250; -- default security classification ACMEVMS_UAI_AUDIT_FLAGS : constant := 50251; -- audit flags to be used when changing data ACMEVMS_MAX_UAI_OUT : constant := 50251; -- -- Output item codes subject to VTF-7 <-> UCS conversion -- ACMEVMS_MIN_GENERAL_OUT_UCS : constant := 57856; ACMEVMS_CLASS_NAME : constant := 57856; -- name of the scheduler class ACMEVMS_MAX_GENERAL_OUT_UCS : constant := 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. -- ACMEVMS_M_DISK : constant := 16#00000001#; ACMEVMS_M_CLI : constant := 16#00000002#; ACMEVMS_M_TABLES : constant := 16#00000004#; ACMEVMS_M_COMMAND : constant := 16#00000008#; ACMEVMS_M_CONNECT : constant := 16#00000010#; ACMEVMS_M_NEW_PASSWORD : constant := 16#00000020#; ACMEVMS_M_LOCAL_PASSWORD : constant := 16#00000040#; type ACMEVMS_CLI_FLAGS_TYPE is record DISK : BOOLEAN; -- /DISK= CLI : BOOLEAN; -- /CLI= TABLES : BOOLEAN; -- /TABLES= COMMAND : BOOLEAN; -- /COMMAND= CONNECT : BOOLEAN; -- /CONNECT[=] NEW_PASSWORD : BOOLEAN; -- /NEW_PASSWORD LOCAL_PASSWORD : BOOLEAN; -- /LOCAL_PASSWORD FILLER_1 : UNSIGNED_25; end record; for ACMEVMS_CLI_FLAGS_TYPE use record DISK at 0 range 0 .. 0; CLI at 0 range 1 .. 1; TABLES at 0 range 2 .. 2; COMMAND at 0 range 3 .. 3; CONNECT at 0 range 4 .. 4; NEW_PASSWORD at 0 range 5 .. 5; LOCAL_PASSWORD at 0 range 6 .. 6; FILLER_1 at 0 range 7 .. 31; end record; for ACMEVMS_CLI_FLAGS_TYPE'SIZE use 32; ACMEVMS_CLI_FLAGS_TYPE_INIT : constant ACMEVMS_CLI_FLAGS_TYPE := (DISK => FALSE, CLI => FALSE, TABLES => FALSE, COMMAND => FALSE, CONNECT => FALSE, NEW_PASSWORD => FALSE, LOCAL_PASSWORD => FALSE, FILLER_1 => 0); ACMEVMS_K_LENGTH : constant := 4; --+ -- -- Miscellaneous constants -- --- -- Authentication mechanism for TNT$SERVER ACMEVMS_K_AUTH_MECH_ARGUS : constant := 13860864; -- Only for TNT$SERVER -- Base to which UAI$_ codes can be added for use in SYS$ACM[W] ACMEVMS_K_UAI_BASE : constant := 50175; -- Item Code Base -- Maximum length (in characters) of a Mapped VMS Username ACMEVMS_K_MAXCHAR_VMS_USERNAME : constant := 32; -- in characters end ACMEVMSDEF;