--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:29 by OpenVMS SDL EV3-3 -- Source: 03-MAY-2000 16:25:34 $1$DGA8085:[LIB_ADA.LIS]LCSDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package LCSDEF is -- module $LCSDEF -- -- Structure(s) for RMS conversions between a local character set -- (e.g., Super DEC Kanji) and Unicode for filenames -- -- This structure, when inserted into the known extension queue, -- registers an RMS extension with the base RMS. It should contain -- entry points for a set of conversion functions for the selected -- local character set. -- LCS_C_BLN : constant := 72; LCS_K_BLN : constant := 72; type LCS_TYPE is record FLINK : ADDRESS; -- links to next and previous BLINK : ADDRESS; -- registered LCS structures. SIZE : UNSIGNED_WORD; -- allocated size of structure NAMLEN : UNSIGNED_WORD; -- length of extension name NAME : STRING(1 .. 32); -- space for extension name CALC_VTF7_TO_LOCAL : ADDRESS; -- Calculate length of converted string (in local code-set). CONV_VTF7_TO_LOCAL : ADDRESS; -- Convert string from VTF-7 to local code-set. CALC_LOCAL_TO_VTF7 : ADDRESS; -- Calculate length of converted string (in VTF-7). CONV_LOCAL_TO_VTF7 : ADDRESS; -- Convert string from local code-set to VTF-7. CONV_FILESYS_TO_LOCAL : ADDRESS; -- Convert string from File System format to local code-set. BUILD_LOCAL_PQB : ADDRESS; -- Called by SYS$CREPRC to copy a LCS from a parent process to PQB. RESTORE_LOCAL_PQB : ADDRESS; -- Called by EXE$PROCSTRT to copy a LCS from PQB to a subprocess. end record; for LCS_TYPE use record FLINK at 0 range 0 .. 31; BLINK at 4 range 0 .. 31; SIZE at 8 range 0 .. 15; NAMLEN at 10 range 0 .. 15; NAME at 12 range 0 .. 255; CALC_VTF7_TO_LOCAL at 44 range 0 .. 31; CONV_VTF7_TO_LOCAL at 48 range 0 .. 31; CALC_LOCAL_TO_VTF7 at 52 range 0 .. 31; CONV_LOCAL_TO_VTF7 at 56 range 0 .. 31; CONV_FILESYS_TO_LOCAL at 60 range 0 .. 31; BUILD_LOCAL_PQB at 64 range 0 .. 31; RESTORE_LOCAL_PQB at 68 range 0 .. 31; end record; for LCS_TYPE'SIZE use 576; LCS_TYPE_INIT : constant LCS_TYPE := (FLINK => ADDRESS_ZERO, BLINK => ADDRESS_ZERO, SIZE => 0, NAMLEN => 0, NAME => (others => ASCII.NUL), CALC_VTF7_TO_LOCAL => ADDRESS_ZERO, CONV_VTF7_TO_LOCAL => ADDRESS_ZERO, CALC_LOCAL_TO_VTF7 => ADDRESS_ZERO, CONV_LOCAL_TO_VTF7 => ADDRESS_ZERO, CONV_FILESYS_TO_LOCAL => ADDRESS_ZERO, BUILD_LOCAL_PQB => ADDRESS_ZERO, RESTORE_LOCAL_PQB => ADDRESS_ZERO); end LCSDEF;