--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:34 by OpenVMS SDL EV3-3 -- Source: 10-FEB-1994 15:05:23 $1$DGA8085:[LIB_ADA.LIS]PSMDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package PSMDEF is -- module $PSMDEF -- Print symbiont definitions --+ -- Symbolic definitions for print symbionts. -- -- Public definition of various constants and data structures -- used by the standard VMS print symbiont, and by user modified -- print symbionts. -- --- -- -- Service routine function codes -- -- -- IO functions -- PSM_K_CANCEL : constant := 1; -- Cancel pending operations PSM_K_CLOSE : constant := 2; -- Release resources PSM_K_FORMAT : constant := 3; -- Format buffer PSM_K_OPEN : constant := 4; -- Obtain resources PSM_K_READ : constant := 5; -- Read PSM_K_GET_KEY : constant := 6; -- Read record key PSM_K_POSITION_TO_KEY : constant := 7; -- Read by record context PSM_K_REWIND : constant := 8; -- Rewind file PSM_K_WRITE : constant := 9; -- Write PSM_K_WRITE_NOFORMAT : constant := 10; -- Write with driver formatting disabled PSM_K_WRITE_SUPPRESSED : constant := 11; -- Write but suppress output -- -- Message notification functions -- PSM_K_PAUSE_TASK : constant := 12; -- STOP /QUEUE PSM_K_RESET_STREAM : constant := 13; -- STOP /QUEUE /RESET PSM_K_RESUME_TASK : constant := 14; -- START /QUEUE (when paused) PSM_K_START_STREAM : constant := 15; -- START /QUEUE (when stopped) PSM_K_START_TASK : constant := 16; -- (ofiginated by job controller) PSM_K_STOP_TASK : constant := 17; -- STOP /QUEUE /ABORT or /REQUEUE PSM_K_STOP_STREAM : constant := 18; -- STOP /QUEUE /NEXT -- -- Replacement routines -- -- -- Task services -- where applicable the ordering of these literals -- determines the sequence of the corresponding service routines. -- -- -- Page services -- PSM_K_PAGE_SETUP : constant := 1; -- Page setup - page setup modules PSM_K_PAGE_HEADER : constant := 2; -- Page separation - page headers -- -- Library module service -- PSM_K_LIBRARY_INPUT : constant := 3; -- Module services -- -- Filter services -- PSM_K_INPUT_FILTER : constant := 4; -- Filter service - input PSM_K_MAIN_FORMAT : constant := 5; -- Format service - carriage control PSM_K_OUTPUT_FILTER : constant := 6; -- Filter service - output -- -- Output services -- PSM_K_OUTPUT : constant := 7; -- Main output routine -- -- General input services -- PSM_K_JOB_SETUP : constant := 8; -- Job setup - job reset modules PSM_K_FORM_SETUP : constant := 9; -- Form setup - form setup modules PSM_K_JOB_FLAG : constant := 10; -- Job separation - flag page PSM_K_JOB_BURST : constant := 11; -- Job separation - burst page PSM_K_FILE_SETUP : constant := 12; -- File setup - file setup modules PSM_K_FILE_FLAG : constant := 13; -- File separation - flag page PSM_K_FILE_BURST : constant := 14; -- File separation - burst page PSM_K_FILE_SETUP_2 : constant := 15; -- File setup - top of form PSM_K_MAIN_INPUT : constant := 16; -- File service - main routine PSM_K_FILE_INFORMATION : constant := 17; -- Additional information print PSM_K_FILE_ERRORS : constant := 18; -- Errors during task processing PSM_K_FILE_TRAILER : constant := 19; -- File separation - trailer page PSM_K_JOB_RESET : constant := 20; -- Job reset - job reset modules PSM_K_JOB_TRAILER : constant := 21; -- Job separation - trailer page PSM_K_JOB_COMPLETION : constant := 22; -- Job completion - top of form PSM_K_PAGE_FOOTER : constant := 23; -- Page separation - page footers PSM_K_MAX : constant := 24; -- MUST BE LAST -- -- Carriage control types -- PSM_K_CC_INTERNAL : constant := 1; -- - imbedded PSM_K_CC_IMPLIED : constant := 2; -- - implied PSM_K_CC_FORTRAN : constant := 3; -- - fortran PSM_K_CC_PRINT : constant := 4; -- - print file (PRN) PSM_K_CC_MAX : constant := 5; -- MUST BE LAST PSM_M_LAT_PROTOCOL : constant := 16#00000001#; type PSM_FLAGS_TYPE is record LAT_PROTOCOL : BOOLEAN; -- FILLER_1 : UNSIGNED_31; end record; for PSM_FLAGS_TYPE use record LAT_PROTOCOL at 0 range 0 .. 0; FILLER_1 at 0 range 1 .. 31; end record; for PSM_FLAGS_TYPE'SIZE use 32; PSM_FLAGS_TYPE_INIT : constant PSM_FLAGS_TYPE := (LAT_PROTOCOL => FALSE, FILLER_1 => 0); type PSM_P5_FLAGS_TYPE is -- PSM$PRINT PaRAMETER 5 record FLAGS : PSM_FLAGS_TYPE; end record; for PSM_P5_FLAGS_TYPE use record FLAGS at 0 range 0 .. 31; end record; for PSM_P5_FLAGS_TYPE'SIZE use 32; PSM_P5_FLAGS_TYPE_INIT : constant PSM_P5_FLAGS_TYPE := ( FLAGS => PSM_FLAGS_TYPE_INIT ); end PSMDEF;