/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFAE.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $acmevmsdef IDENT X-12 ***/ #ifndef __ACMEVMSDEF_LOADED #define __ACMEVMSDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /* */ /* 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]. */ /* */ #define ACMEVMS$K_MIN_MSG_TYPE 32768 #define ACMEVMS$K_OLD_DECW_PWD_EXP_1 32768 /* Binary expiration warning */ #define ACMEVMS$K_OLD_DECW_PWD_EXP_2 32769 /* Binary expiration warning */ #define ACMEVMS$K_OLD_DECW_PWD_QUALITY 32770 /* Binary password quality status */ #define ACMEVMS$K_OLD_SYSUAF_070 32771 /* Authorization Record */ #define ACMEVMS$K_OLD_AUTH_FLAGS 32772 /* Password requirement flags */ #define ACMEVMS$K_OLD_TERMINAL_CONNECT 32773 /* UIC, Username and Account */ #define 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]. */ /* */ #define ACMEVMS$_MIN_OLD_IN 32768 #define ACMEVMS$_OLD_DECWINDOWS_FLAG 32768 /* old DECwindows authentication mechanism */ #define ACMEVMS$_OLD_HASHED_PASSWORD_1 32769 /* old ARGUS authentication mechanism */ #define ACMEVMS$_OLD_HASHED_PASSWORD_2 32770 /* old ARGUS authentication mechanism */ #define ACMEVMS$_OLD_LGI_PHASE 32771 /* old LGI-callout authentication mechanism */ #define ACMEVMS$_OLD_LGI_STATUS 32772 /* old LGI-callout authentication mechanism */ #define 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. */ /* */ #define ACMEVMS$_MIN_SOLICITED_IN 33024 #define ACMEVMS$_LOGINOUT_CLI_FLAGS 33024 /* LOGINOUT received these qualifiers */ #define ACMEVMS$_OLD_CONNECTION_FLAG 33025 /* LOGINOUT did a reconnection */ #define ACMEVMS$_OLD_PROCESS_NAME 33026 /* the process name after LOGINOUT $SETPRN */ #define 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]. */ /* */ #define ACMEVMS$_MIN_GENERAL_IN 33280 #define ACMEVMS$_AUTOLOGIN_ALLOWED_FLAG 33280 /* autologin is allowed for this request */ #define ACMEVMS$_SPARE_1 33281 /* originally default_principal_flag */ #define ACMEVMS$_GENPWD_COUNT 33282 /* desired number of generated passwords */ #define ACMEVMS$_GENPWD_MANDATORY_FLAG 33283 /* generated password must be chosen */ #define ACMEVMS$_GENPWD_MAXLENGTH 33284 /* maximum length of generated password */ #define ACMEVMS$_GENPWD_MINLENGTH 33285 /* minimum length of generated password */ #define ACMEVMS$_LOGINOUT_CREPRC_FLAGS 33286 /* CTL$GL_CREPRC_FLAGS from LOGINOUT */ #define ACMEVMS$_REQUESTOR_PID 33287 /* PID of client process (make spare after Kestrel) */ #define ACMEVMS$_PREAUTHENTICATION_FLAG 33288 /* preauthenticated request */ #define ACMEVMS$_USES_SYSTEM_PASSWORD 33289 /* this connection uses system passwords */ #define ACMEVMS$_REQUESTOR_UIC 33290 /* UIC of client process (make spare after Kestrel) */ #define ACMEVMS$_GENPWD_ALGORITHM 33291 /* Password generator algorithm */ #define ACMEVMS$_MAX_GENERAL_IN 33291 /* */ /* Input item codes subject to VTF-7 <-> UCS conversion */ /* */ #define ACMEVMS$_MIN_GENERAL_IN_UCS 41472 #define ACMEVMS$_NET_PROXY 41472 /* network proxy username string from LOGINOUT */ #define ACMEVMS$_REQUESTOR_USERNAME 41473 /* Username of client process (make spare after Kestrel) */ #define ACMEVMS$_CONFIRM_PASSWORD_SYS 41474 /* Reenter New System Password */ #define ACMEVMS$_CONFIRM_PASSWORD_1 41475 /* Reenter New Primary Password */ #define ACMEVMS$_CONFIRM_PASSWORD_2 41476 /* Reenter New Secondary Password */ #define 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. */ /* */ #define ACMEVMS$_MIN_GENERAL_OUT 49664 #define ACMEVMS$_CLASS_DAYS 49664 /* primary days for the scheduler class */ #define ACMEVMS$_CLASS_FLAGS 49665 /* flags for the scheduler class */ #define ACMEVMS$_CLASS_NUMBER 49666 /* number of the scheduler class */ #define ACMEVMS$_CLASS_PRIMEDAY_LIMIT 49667 /* hourly quantum percentage on primary day */ #define ACMEVMS$_CLASS_SECONDAY_LIMIT 49668 /* hourly quantum percentage on secondary day */ #define 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. */ /* */ #define ACMEVMS$_MIN_CREPRC_OUT 49920 #define ACMEVMS$_CREPRC_BASPRI 49920 /* Process base priority */ #define ACMEVMS$_CREPRC_IMAGE 49921 /* Image name (LOGINOUT) */ #define ACMEVMS$_CREPRC_PRCNAM 49922 /* Process name (blank) */ #define ACMEVMS$_CREPRC_PRVADR 49923 /* Process privilege */ #define ACMEVMS$_CREPRC_QUOTA 49924 /* Process quota list */ #define ACMEVMS$_CREPRC_UIC 49925 /* UIC for detached process */ #define 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: */ /* */ #define ACMEVMS$_MIN_UAI_OUT 50176 #define ACMEVMS$_UAI_RTYPE 50176 /* UAF record type */ #define ACMEVMS$_UAI_VERSION 50177 /* UAF format version */ #define ACMEVMS$_UAI_USRDATOFF 50178 /* offset of counted string of user data */ #define ACMEVMS$_UAI_USERNAME 50179 /* username */ #define ACMEVMS$_UAI_USERNAME_TAG 50180 /* tag to differentiate records */ #define ACMEVMS$_UAI_UIC 50181 /* user ID code */ #define ACMEVMS$_UAI_MEM 50182 /* member subfield */ #define ACMEVMS$_UAI_GRP 50183 /* group subfield */ #define ACMEVMS$_UAI_SUB_ID 50184 /* user sub-identifier */ #define ACMEVMS$_UAI_PARENT_ID 50185 /* identifier of owner of this account */ #define ACMEVMS$_UAI_ACCOUNT 50186 /* account name */ #define ACMEVMS$_UAI_OWNER 50187 /* owner's name */ #define ACMEVMS$_UAI_DEFDEV 50188 /* default device */ #define ACMEVMS$_UAI_DEFDIR 50189 /* default directory */ #define ACMEVMS$_UAI_LGICMD 50190 /* login command file */ #define ACMEVMS$_UAI_DEFCLI 50191 /* default command interpreter */ #define ACMEVMS$_UAI_CLITABLES 50192 /* user CLI tables */ #define ACMEVMS$_UAI_PWD 50193 /* hashed password */ #define ACMEVMS$_UAI_PWD2 50194 /* second password */ #define ACMEVMS$_UAI_LOGFAILS 50195 /* count of login failures */ #define ACMEVMS$_UAI_SALT 50196 /* random password salt */ #define ACMEVMS$_UAI_ENCRYPT 50197 /* primary password hash algorithm */ #define ACMEVMS$_UAI_ENCRYPT2 50198 /* secondary password hash algorithm */ #define ACMEVMS$_UAI_PWD_LENGTH 50199 /* minimum password length */ #define ACMEVMS$_UAI_EXPIRATION 50200 /* expiration date for account */ #define ACMEVMS$_UAI_PWD_LIFETIME 50201 /* password lifetime */ #define ACMEVMS$_UAI_PWD_DATE 50202 /* date of password change */ #define ACMEVMS$_UAI_PWD2_DATE 50203 /* date of 2nd password change */ #define ACMEVMS$_UAI_LASTLOGIN_I 50204 /* date of last interactive login */ #define ACMEVMS$_UAI_LASTLOGIN_N 50205 /* date of last non-interactive login */ #define ACMEVMS$_UAI_PRIV 50206 /* process privilege vector */ #define ACMEVMS$_UAI_DEF_PRIV 50207 /* default process privileges */ #define ACMEVMS$_UAI_MIN_CLASS 50208 /* minimum security class */ #define ACMEVMS$_UAI_MAX_CLASS 50209 /* maximum security class */ #define ACMEVMS$_UAI_FLAGS 50210 /* user flags longword */ #define ACMEVMS$_UAI_NETWORK_ACCESS_P 50211 /* hourly network access, primary */ #define ACMEVMS$_UAI_NETWORK_ACCESS_S 50212 /* hourly network access, secondary */ #define ACMEVMS$_UAI_BATCH_ACCESS_P 50213 /* hourly batch access, primary */ #define ACMEVMS$_UAI_BATCH_ACCESS_S 50214 /* hourly batch access, secondary */ #define ACMEVMS$_UAI_LOCAL_ACCESS_P 50215 /* hourly local access, primary */ #define ACMEVMS$_UAI_LOCAL_ACCESS_S 50216 /* hourly local access, secondary */ #define ACMEVMS$_UAI_DIALUP_ACCESS_P 50217 /* hourly dialup access, primary */ #define ACMEVMS$_UAI_DIALUP_ACCESS_S 50218 /* hourly dialup access, secondary */ #define ACMEVMS$_UAI_REMOTE_ACCESS_P 50219 /* hourly remote access, primary */ #define ACMEVMS$_UAI_REMOTE_ACCESS_S 50220 /* hourly remote access, secondary */ #define ACMEVMS$_UAI_PRIMEDAYS 50221 /* bits representing primary days */ #define ACMEVMS$_UAI_PRI 50222 /* base process priority */ #define ACMEVMS$_UAI_QUEPRI 50223 /* maximum job queuing priority */ #define ACMEVMS$_UAI_MAXJOBS 50224 /* maximum jobs for UIC allowed */ #define ACMEVMS$_UAI_MAXACCTJOBS 50225 /* maximum jobs for account allowed */ #define ACMEVMS$_UAI_MAXDETACH 50226 /* maximum detached processes for UIC */ #define ACMEVMS$_UAI_PRCCNT 50227 /* subprocess creation limit */ #define ACMEVMS$_UAI_BIOLM 50228 /* buffered I/O limit */ #define ACMEVMS$_UAI_DIOLM 50229 /* direct I/O limit */ #define ACMEVMS$_UAI_TQCNT 50230 /* timer queue entry limit */ #define ACMEVMS$_UAI_ASTLM 50231 /* AST queue limit */ #define ACMEVMS$_UAI_ENQLM 50232 /* enqueue limit */ #define ACMEVMS$_UAI_FILLM 50233 /* open file limit */ #define ACMEVMS$_UAI_SHRFILLM 50234 /* shared file limit */ #define ACMEVMS$_UAI_WSQUOTA 50235 /* working set size quota */ #define ACMEVMS$_UAI_DFWSCNT 50236 /* default working set size */ #define ACMEVMS$_UAI_WSEXTENT 50237 /* working set size limit */ #define ACMEVMS$_UAI_PGFLQUOTA 50238 /* page file quota */ #define ACMEVMS$_UAI_CPUTIM 50239 /* CPU time quota */ #define ACMEVMS$_UAI_BYTLM 50240 /* buffered I/O byte count limit */ #define ACMEVMS$_UAI_PBYTLM 50241 /* paged buffer I/O byte count limit */ #define ACMEVMS$_UAI_JTQUOTA 50242 /* job-wide logical name table creation quota */ #define ACMEVMS$_UAI_PROXY_LIM 50243 /* number of proxies user can grant */ #define ACMEVMS$_UAI_PROXIES 50244 /* number of proxies granted */ #define ACMEVMS$_UAI_ACCOUNT_LIM 50245 /* number of sub-accounts allowed */ #define ACMEVMS$_UAI_ACCOUNTS 50246 /* number of sub-accounts in use */ #define ACMEVMS$_UAI_USER_DATA 50247 /* user data area */ /* Next two codes not supported for output */ #define ACMEVMS$_UAI_PASSWORD 50248 /* plaintext primary password */ #define ACMEVMS$_UAI_PASSWORD2 50249 /* plaintext secondary password */ /* Previous two codes not supported for output */ #define ACMEVMS$_UAI_DEF_CLASS 50250 /* default security classification */ #define ACMEVMS$_UAI_AUDIT_FLAGS 50251 /* audit flags to be used when changing data */ #define ACMEVMS$_MAX_UAI_OUT 50251 /* */ /* Output item codes subject to VTF-7 <-> UCS conversion */ /* */ #define ACMEVMS$_MIN_GENERAL_OUT_UCS 57856 #define ACMEVMS$_CLASS_NAME 57856 /* name of the scheduler class */ #define 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. */ /* */ #define ACMEVMS$M_DISK 0x1 #define ACMEVMS$M_CLI 0x2 #define ACMEVMS$M_TABLES 0x4 #define ACMEVMS$M_COMMAND 0x8 #define ACMEVMS$M_CONNECT 0x10 #define ACMEVMS$M_NEW_PASSWORD 0x20 #define ACMEVMS$M_LOCAL_PASSWORD 0x40 #ifdef __NEW_STARLET typedef struct _cli_flags { unsigned acmevms$v_disk : 1; /* /DISK= */ unsigned acmevms$v_cli : 1; /* /CLI= */ unsigned acmevms$v_tables : 1; /* /TABLES= */ unsigned acmevms$v_command : 1; /* /COMMAND= */ unsigned acmevms$v_connect : 1; /* /CONNECT[=] */ unsigned acmevms$v_new_password : 1; /* /NEW_PASSWORD */ unsigned acmevms$v_local_password : 1; /* /LOCAL_PASSWORD */ unsigned acmevms$v_cli_flags_fill_1 : 25; } CLI_FLAGS; #else /* __OLD_STARLET */ typedef struct _cli_flags { unsigned acmevms$v_disk : 1; /* /DISK= */ unsigned acmevms$v_cli : 1; /* /CLI= */ unsigned acmevms$v_tables : 1; /* /TABLES= */ unsigned acmevms$v_command : 1; /* /COMMAND= */ unsigned acmevms$v_connect : 1; /* /CONNECT[=] */ unsigned acmevms$v_new_password : 1; /* /NEW_PASSWORD */ unsigned acmevms$v_local_password : 1; /* /LOCAL_PASSWORD */ unsigned acmevms$v_cli_flags_fill_1 : 25; } cli_flags; #endif /* #ifdef __NEW_STARLET */ #define ACMEVMS$K_LENGTH 4 /*+ */ /* */ /* Miscellaneous constants */ /* */ /*- */ /* Authentication mechanism for TNT$SERVER */ #define ACMEVMS$K_AUTH_MECH_ARGUS 13860864 /* Only for TNT$SERVER */ /* Base to which UAI$_ codes can be added for use in SYS$ACM[W] */ #define ACMEVMS$K_UAI_BASE 50175 /* Item Code Base */ /* Maximum length (in characters) of a Mapped VMS Username */ #define ACMEVMS$K_MAXCHAR_VMS_USERNAME 32 /* in characters */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __ACMEVMSDEF_LOADED */