--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:29 by OpenVMS SDL EV3-3 -- Source: 09-FEB-2001 08:45:48 $1$DGA8085:[LIB_ADA.LIS]LGIDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package LGIDEF is -- module $LGIDEF LGI_C_LENGTH : constant := 24; -- Data structure length LGI_K_LENGTH : constant := 24; -- Data structure length LGI_C_CHARTIME : constant := 15; -- Terminal driver timeout value LGI_K_CHARTIME : constant := 15; -- Terminal driver timeout value LGI_S_LGIDATDEF : constant := 24; -- Old size name - synonym type LGIDAT_TYPE is record ORIGUIC : UNSIGNED_LONGWORD; -- Original UIC at job creation time OUTFNM : STRING(1 .. 20); -- For batch, file name/type of output -- for spooling log file in batch jobs end record; for LGIDAT_TYPE use record ORIGUIC at 0 range 0 .. 31; OUTFNM at 4 range 0 .. 159; end record; for LGIDAT_TYPE'SIZE use 192; LGIDAT_TYPE_INIT : constant LGIDAT_TYPE := (ORIGUIC => 0, OUTFNM => (others => ASCII.NUL)); LGI_M_OPENACCT : constant := 16#00000001#; LGI_M_PASSWORD : constant := 16#00000002#; LGI_M_PASSWORD2 : constant := 16#00000004#; LGI_M_GENPWD : constant := 16#00000008#; LGI_PRIMARY_PASSWORD : constant := 1; -- primary password LGI_SECONDARY_PASSWORD : constant := 2; -- secondary password LGI_SOURCE_NODE : constant := 3; -- source nodename LGI_SOURCE_ID : constant := 4; -- source id (username) LGI_SOURCE_ADDRESS : constant := 5; -- source DECnet address LGI_SOURCE_TERMINAL : constant := 6; -- source terminal LGI_PARENT_USERNAME : constant := 7; -- parent username LGI_PARENT_PID : constant := 8; -- parent PID LGI_JOB_TYPE : constant := 9; -- job type LGI_MAX_CODE : constant := 10; -- last item code (plus one) LGI_S_LGIAUTHDEF : constant := 4; -- Old size name - synonym type LGI_AUTH_FLAGS_TYPE is record OPENACCT : BOOLEAN; -- account requires no passwords PASSWORD : BOOLEAN; -- account has primary password PASSWORD2 : BOOLEAN; -- account has secondary password GENPWD : BOOLEAN; -- Extra bit returned by the -- VMS ACME for the old -- DECwindows login FILLER_1 : UNSIGNED_28; end record; for LGI_AUTH_FLAGS_TYPE use record OPENACCT at 0 range 0 .. 0; PASSWORD at 0 range 1 .. 1; PASSWORD2 at 0 range 2 .. 2; GENPWD at 0 range 3 .. 3; FILLER_1 at 0 range 4 .. 31; end record; for LGI_AUTH_FLAGS_TYPE'SIZE use 32; LGI_AUTH_FLAGS_TYPE_INIT : constant LGI_AUTH_FLAGS_TYPE := (OPENACCT => FALSE, PASSWORD => FALSE, PASSWORD2 => FALSE, GENPWD => FALSE, FILLER_1 => 0); type LGIAUTH_TYPE is record AUTH_FLAGS : LGI_AUTH_FLAGS_TYPE; end record; for LGIAUTH_TYPE use record AUTH_FLAGS at 0 range 0 .. 31; end record; for LGIAUTH_TYPE'SIZE use 32; LGIAUTH_TYPE_INIT : constant LGIAUTH_TYPE := ( AUTH_FLAGS => LGI_AUTH_FLAGS_TYPE_INIT ); LGI_DISUSER_STOP : constant := 1; -- stop on error LGI_DISUSER_RETURN : constant := 2; -- return on error LGI_VALIDATE_STOP : constant := 1; -- stop on error LGI_VALIDATE_RETURN : constant := 2; -- return on error LGI_GET_INPUT_STOP : constant := 0; -- stop on error LGI_GET_INPUT_HANGUP : constant := 1; -- hangup quietly on error LGI_GET_INPUT_RETURN_TMO : constant := 2; -- return on timout LGI_M_NET_PROXY : constant := 16#00000001#; LGI_M_NET_PREAUTH : constant := 16#00000002#; LGI_M_NET_DEFAULT_USER : constant := 16#00000004#; LGI_M_NET_PROXY_OK : constant := 16#00000008#; LGI_M_NET_REM_INFO_PRESENT : constant := 16#00000010#; LGI_S_LGINETDEF : constant := 2; -- Old size name - synonym type LGI_NET_AUTH_FLAGS_TYPE is record NET_PROXY : BOOLEAN; -- DECNET wants proxy login NET_PREAUTH : BOOLEAN; -- DECNET has authenticated NET_DEFAULT_USER : BOOLEAN; -- DECNET application or session -- database has username NET_PROXY_OK : BOOLEAN; -- (local use) proxy validated NET_REM_INFO_PRESENT : BOOLEAN; -- Phase V provided rem info FILLER_1 : UNSIGNED_11; end record; for LGI_NET_AUTH_FLAGS_TYPE use record NET_PROXY at 0 range 0 .. 0; NET_PREAUTH at 0 range 1 .. 1; NET_DEFAULT_USER at 0 range 2 .. 2; NET_PROXY_OK at 0 range 3 .. 3; NET_REM_INFO_PRESENT at 0 range 4 .. 4; FILLER_1 at 0 range 5 .. 15; end record; for LGI_NET_AUTH_FLAGS_TYPE'SIZE use 16; LGI_NET_AUTH_FLAGS_TYPE_INIT : constant LGI_NET_AUTH_FLAGS_TYPE := (NET_PROXY => FALSE, NET_PREAUTH => FALSE, NET_DEFAULT_USER => FALSE, NET_PROXY_OK => FALSE, NET_REM_INFO_PRESENT => FALSE, FILLER_1 => 0); type LGINET_TYPE is record NET_AUTH_FLAGS : LGI_NET_AUTH_FLAGS_TYPE; end record; for LGINET_TYPE use record NET_AUTH_FLAGS at 0 range 0 .. 15; end record; for LGINET_TYPE'SIZE use 16; LGINET_TYPE_INIT : constant LGINET_TYPE := ( NET_AUTH_FLAGS => LGI_NET_AUTH_FLAGS_TYPE_INIT ); type LGIARG_VECTOR_TYPE is record GET_INPUT : ADDRESS; -- Addresses of callbacks DECW_IDENT : ADDRESS; DECW_AUTH : ADDRESS; GET_SYSPWD : ADDRESS; USERPROMPT : ADDRESS; USERPARSE : ADDRESS; AUTOLOGIN : ADDRESS; PASSWORD : ADDRESS; CHECK_PASS : ADDRESS; VALIDATE : ADDRESS; ACCTEXPIRED : ADDRESS; PWDEXPIRED : ADDRESS; DISUSER : ADDRESS; MODALHOURS : ADDRESS; ICR_CREPRC_FLAGS : ADDRESS; -- Addresses of variables ICR_JOB_TYPE : ADDRESS; ICR_SUBPROCESS : ADDRESS; ICR_TERMINAL_DEV : ADDRESS; ICR_TT_PHYDEVNAM : ADDRESS; ICR_TT_ACCPORNAM : ADDRESS; ICR_CLINAME : ADDRESS; ICR_CLITABLES : ADDRESS; ICR_NCB : ADDRESS; ICR_LOGLINK : ADDRESS; ICR_REM_NODE_NAM : ADDRESS; ICR_REM_ID : ADDRESS; ICR_UAF_RECORD : ADDRESS; ICR_INPUT_RAB : ADDRESS; ICR_AUTOLOGIN : ADDRESS; ICR_USERNAME : ADDRESS; ICR_PWD1 : ADDRESS; ICR_PWD2 : ADDRESS; ICR_PWDCOUNT : ADDRESS; ICR_NETFLAGS : ADDRESS; end record; for LGIARG_VECTOR_TYPE use record GET_INPUT at 0 range 0 .. 31; DECW_IDENT at 4 range 0 .. 31; DECW_AUTH at 8 range 0 .. 31; GET_SYSPWD at 12 range 0 .. 31; USERPROMPT at 16 range 0 .. 31; USERPARSE at 20 range 0 .. 31; AUTOLOGIN at 24 range 0 .. 31; PASSWORD at 28 range 0 .. 31; CHECK_PASS at 32 range 0 .. 31; VALIDATE at 36 range 0 .. 31; ACCTEXPIRED at 40 range 0 .. 31; PWDEXPIRED at 44 range 0 .. 31; DISUSER at 48 range 0 .. 31; MODALHOURS at 52 range 0 .. 31; ICR_CREPRC_FLAGS at 56 range 0 .. 31; ICR_JOB_TYPE at 60 range 0 .. 31; ICR_SUBPROCESS at 64 range 0 .. 31; ICR_TERMINAL_DEV at 68 range 0 .. 31; ICR_TT_PHYDEVNAM at 72 range 0 .. 31; ICR_TT_ACCPORNAM at 76 range 0 .. 31; ICR_CLINAME at 80 range 0 .. 31; ICR_CLITABLES at 84 range 0 .. 31; ICR_NCB at 88 range 0 .. 31; ICR_LOGLINK at 92 range 0 .. 31; ICR_REM_NODE_NAM at 96 range 0 .. 31; ICR_REM_ID at 100 range 0 .. 31; ICR_UAF_RECORD at 104 range 0 .. 31; ICR_INPUT_RAB at 108 range 0 .. 31; ICR_AUTOLOGIN at 112 range 0 .. 31; ICR_USERNAME at 116 range 0 .. 31; ICR_PWD1 at 120 range 0 .. 31; ICR_PWD2 at 124 range 0 .. 31; ICR_PWDCOUNT at 128 range 0 .. 31; ICR_NETFLAGS at 132 range 0 .. 31; end record; for LGIARG_VECTOR_TYPE'SIZE use 1088; LGIARG_VECTOR_TYPE_INIT : constant LGIARG_VECTOR_TYPE := (GET_INPUT => ADDRESS_ZERO, DECW_IDENT => ADDRESS_ZERO, DECW_AUTH => ADDRESS_ZERO, GET_SYSPWD => ADDRESS_ZERO, USERPROMPT => ADDRESS_ZERO, USERPARSE => ADDRESS_ZERO, AUTOLOGIN => ADDRESS_ZERO, PASSWORD => ADDRESS_ZERO, CHECK_PASS => ADDRESS_ZERO, VALIDATE => ADDRESS_ZERO, ACCTEXPIRED => ADDRESS_ZERO, PWDEXPIRED => ADDRESS_ZERO, DISUSER => ADDRESS_ZERO, MODALHOURS => ADDRESS_ZERO, ICR_CREPRC_FLAGS => ADDRESS_ZERO, ICR_JOB_TYPE => ADDRESS_ZERO, ICR_SUBPROCESS => ADDRESS_ZERO, ICR_TERMINAL_DEV => ADDRESS_ZERO, ICR_TT_PHYDEVNAM => ADDRESS_ZERO, ICR_TT_ACCPORNAM => ADDRESS_ZERO, ICR_CLINAME => ADDRESS_ZERO, ICR_CLITABLES => ADDRESS_ZERO, ICR_NCB => ADDRESS_ZERO, ICR_LOGLINK => ADDRESS_ZERO, ICR_REM_NODE_NAM => ADDRESS_ZERO, ICR_REM_ID => ADDRESS_ZERO, ICR_UAF_RECORD => ADDRESS_ZERO, ICR_INPUT_RAB => ADDRESS_ZERO, ICR_AUTOLOGIN => ADDRESS_ZERO, ICR_USERNAME => ADDRESS_ZERO, ICR_PWD1 => ADDRESS_ZERO, ICR_PWD2 => ADDRESS_ZERO, ICR_PWDCOUNT => ADDRESS_ZERO, ICR_NETFLAGS => ADDRESS_ZERO); LGI_ICR_INIT : constant := 4; LGI_ICR_IACT_START : constant := 8; LGI_ICR_DECWINIT : constant := 12; LGI_ICR_IDENTIFY : constant := 16; LGI_ICR_AUTHENTICATE : constant := 20; LGI_ICR_CHKRESTRICT : constant := 24; LGI_ICR_FINISH : constant := 28; LGI_ICR_LOGOUT : constant := 32; LGI_ICR_JOBSTEP : constant := 36; LGI_ICR_CHKLICENSE : constant := 40; type LGICALLOUT_VECTOR_TYPE is record ICR_ENTRY_COUNT : UNSIGNED_LONGWORD; INIT : ADDRESS; IACT_START : ADDRESS; DECWINIT : ADDRESS; IDENTIFY : ADDRESS; AUTHENTICATE : ADDRESS; CHKRESTRICT : ADDRESS; FINISH : ADDRESS; LOGOUT : ADDRESS; JOBSTEP : ADDRESS; CHKLICENSE : ADDRESS; end record; for LGICALLOUT_VECTOR_TYPE use record ICR_ENTRY_COUNT at 0 range 0 .. 31; INIT at 4 range 0 .. 31; IACT_START at 8 range 0 .. 31; DECWINIT at 12 range 0 .. 31; IDENTIFY at 16 range 0 .. 31; AUTHENTICATE at 20 range 0 .. 31; CHKRESTRICT at 24 range 0 .. 31; FINISH at 28 range 0 .. 31; LOGOUT at 32 range 0 .. 31; JOBSTEP at 36 range 0 .. 31; CHKLICENSE at 40 range 0 .. 31; end record; for LGICALLOUT_VECTOR_TYPE'SIZE use 352; LGICALLOUT_VECTOR_TYPE_INIT : constant LGICALLOUT_VECTOR_TYPE := (ICR_ENTRY_COUNT => 0, INIT => ADDRESS_ZERO, IACT_START => ADDRESS_ZERO, DECWINIT => ADDRESS_ZERO, IDENTIFY => ADDRESS_ZERO, AUTHENTICATE => ADDRESS_ZERO, CHKRESTRICT => ADDRESS_ZERO, FINISH => ADDRESS_ZERO, LOGOUT => ADDRESS_ZERO, JOBSTEP => ADDRESS_ZERO, CHKLICENSE => ADDRESS_ZERO); LGI_M_UPCASE : constant := 16#00000001#; LGI_M_SYNTAX : constant := 16#00000002#; LGI_M_LENGTH : constant := 16#00000004#; type LGI_PASS_FLAGS_TYPE is record UPCASE : BOOLEAN; -- upcase password if appropriate SYNTAX : BOOLEAN; -- check password syntax LENGTH : BOOLEAN; -- check for maximum password length FILLER_1 : UNSIGNED_29; end record; for LGI_PASS_FLAGS_TYPE use record UPCASE at 0 range 0 .. 0; SYNTAX at 0 range 1 .. 1; LENGTH at 0 range 2 .. 2; FILLER_1 at 0 range 3 .. 31; end record; for LGI_PASS_FLAGS_TYPE'SIZE use 32; LGI_PASS_FLAGS_TYPE_INIT : constant LGI_PASS_FLAGS_TYPE := (UPCASE => FALSE, SYNTAX => FALSE, LENGTH => FALSE, FILLER_1 => 0); type LGIPASS_TYPE is record PASS_FLAGS : LGI_PASS_FLAGS_TYPE; end record; for LGIPASS_TYPE use record PASS_FLAGS at 0 range 0 .. 31; end record; for LGIPASS_TYPE'SIZE use 32; LGIPASS_TYPE_INIT : constant LGIPASS_TYPE := ( PASS_FLAGS => LGI_PASS_FLAGS_TYPE_INIT ); end LGIDEF;