/********************************************************************************************************************************/ /* Created: 15-MAR-2001 23:37:53 by OpenVMS SDL EV1-33 */ /* Source: 15-MAR-2001 23:34:06 _$11$DUA933:[BUILD.SDL]STARDEFAE.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $acmevmsdef IDENT X-3 ***/ #ifndef __ACMEVMSDEF_LOADED #define __ACMEVMSDEF_LOADED 1 #pragma nostandard #ifdef __cplusplus extern "C" { #define __unknown_params ... #else #define __unknown_params #endif #if !defined(__VAXC) && !defined(VAXC) #define __struct struct #define __union union #else #define __struct variant_struct #define __union variant_union #endif /* */ /* ACMEVMSIC structures mirror an ACMEDEF declaration */ /* until SDL READ works for Ada. */ /* */ /*+ */ /* */ /* $ACM Item Codes */ /* */ /* Item codes are 16-bit unsigned values, encoded as follows: */ /* */ /* 1 */ /* 5 8 7 0 */ /* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ */ /* | | | | | | | | | | | | | | | | | */ /* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ */ /* ^ ^ ^ */ /* | | | */ /* | | +-- 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 */ /* */ /*- */ #define ACMEVMSIC$M_ITEM 0x1FFF #define ACMEVMSIC$M_UCS 0x2000 #define ACMEVMSIC$M_OUTPUT 0x4000 #define ACMEVMSIC$M_ACME_SPECIFIC 0x8000 #define ACMEVMSIC$K_LENGTH 2 typedef struct _acmevmsic { __union { unsigned short int acmevmsic$w_item_code; /* Composite field */ __struct { unsigned acmevmsic$v_item : 13; /* Ranged value */ unsigned acmevmsic$v_ucs : 1; /* 0 ==> not subject to VTF-7 <-> UCS conversion */ /* 1 ==> subject to VTF-7 <-> UCS conversion */ unsigned acmevmsic$v_output : 1; /* 0 ==> input item */ /* 1 ==> output item */ unsigned acmevmsic$v_acme_specific : 1; /* 0 ==> common item */ /* 1 ==> ACME specific item */ } acmevmsic$r_fill_14; } acmevmsic$r_fill_13; } acmevmsic; #if !defined(__VAXC) && !defined(VAXC) #define acmevmsic$w_item_code acmevmsic$r_fill_13.acmevmsic$w_item_code #define acmevmsic$v_item acmevmsic$r_fill_13.acmevmsic$r_fill_14.acmevmsic$v_item #define acmevmsic$v_ucs acmevmsic$r_fill_13.acmevmsic$r_fill_14.acmevmsic$v_ucs #define acmevmsic$v_output acmevmsic$r_fill_13.acmevmsic$r_fill_14.acmevmsic$v_output #define acmevmsic$v_acme_specific acmevmsic$r_fill_13.acmevmsic$r_fill_14.acmevmsic$v_acme_specific #endif /* #if !defined(__VAXC) && !defined(VAXC) */ /* */ /* 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_MAX_MSG_TYPE 32772 /* */ /* 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_LOCAL_FLAG 33024 /* LOGINOUT received /LOCAL_PASSWORD */ #define ACMEVMS$_LOGINOUT_RECONN_FLAG 33025 /* LOGINOUT is authenticating for reconnection */ #define ACMEVMS$_MAX_SOLICITED_IN 33025 /* */ /* 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$_DEFAULT_PRINCIPAL_FLAG 33281 /* default principal name if possible */ #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$_PARENT_PID 33287 /* PID of client process */ #define ACMEVMS$_PREAUTHENTICATION_FLAG 33288 /* preauthenticated request */ #define ACMEVMS$_USES_SYSTEM_PASSWORD 33289 /* this connection uses system passwords */ #define ACMEVMS$_MAX_GENERAL_IN 33289 /* */ /* Input item codes subject to VTF-7 <-> UCS conversion */ /* */ #define ACMEVMS$_MIN_GENERAL_IN_UCS 41984 #define ACMEVMS$_NET_PROXY 41984 /* network proxy username string from LOGINOUT */ #define ACMEVMS$_PARENT_USERNAME 41985 /* Username of client process */ #define ACMEVMS$_CONFIRM_PASSWORD_SYS 41986 /* Reenter New System Password */ #define ACMEVMS$_CONFIRM_PASSWORD_1 41987 /* Reenter New Primary Password */ #define ACMEVMS$_CONFIRM_PASSWORD_2 41988 /* Reenter New Secondary Password */ #define ACMEVMS$_MAX_GENERAL_IN_UCS 41988 /* */ /* 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 */ /* */ /* */ /* 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$_MAX_UAI_OUT 50250 /* */ /* Output item codes subject to VTF-7 <-> UCS conversion */ /* */ /*+ */ /* */ /* Miscellaneous constants */ /* */ /*- */ #define ACMEVMS$K_AUTH_MECH_ARGUS 13860864 /* Authentication mechanism for TNT$SERVER */ #define ACMEVMS$K_UAI_BASE 50175 /* Base to which UAI$_ codes can be added */ #define ACMEVMS$K_MAXCHAR_VMS_USERNAME 32 /* Maximum size of a Mapped VMS Username */ #ifdef __cplusplus } #endif #pragma standard #endif /* __ACMEVMSDEF_LOADED */