From:	CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX" 17-MAY-1991 10:21:59.56
To:	ARISIA::EVERHART
CC:	
Subj:	LATSET.3_OF_3 - LATSYM modifications

From:	RELAY-INFO-VAX@CRVAX.SRI.COM@SMTP@CRDGW2
To:	Everhart@Arisia@MRGATE

Received:  by crdgw1.ge.com (5.57/GE 1.97)
	 id AA18327; Fri, 17 May 91 10:03:00 EDT
Message-Id:  <9105171403.AA18327@crdgw1.ge.com>
Received: From SUN2.NSFNET-RELAY.AC.UK by CRVAX.SRI.COM with TCP; Fri, 17 MAY 91 05:48:25 PDT
Received: from ncdlab.ulcc.ac.uk by sun2.nsfnet-relay.ac.uk via JANET 
          with NIFTP id <12460-0@sun2.nsfnet-relay.ac.uk>;
          Fri, 17 May 1991 13:45:54 +0100
Date: Fri, 17 May 91 13:46 BST
From: Nick de Smith <NICK@ncdlab.ulcc.ac.uk>
To: INFO-VAX <@nsfnet-relay.ac.uk:INFO-VAX@CRVAX.SRI.com>
Subject: LATSET.3_OF_3 - LATSYM modifications

-+-+-+-+-+-+-+-+ START OF PART 3 -+-+-+-+-+-+-+-+
X#define`09SMBMSG$K_START_TASK`090x5
X#define`09SMBMSG$K_STOP_STREAM`090x6
X#define`09SMBMSG$K_STOP_TASK`090x7
X#define`09SMBMSG$K_TASK_COMPLETE`090x8
X#define`09SMBMSG$K_TASK_STATUS`090x9
X#define`09SMBMSG$K_MAX_REQUEST_CODE`090xA
X#define`09SMBMSG$S_REQUEST_HEADER`090x4
X#define`09SMBMSG$W_REQUEST_CODE`090x0
X#define`09SMBMSG$B_STRUCTURE_LEVEL`090x2
X#define`09SMBMSG$B_STREAM_INDEX`090x3
X#define`09SMBMSG$K_ACCOUNTING_DATA`090x1
X#define`09SMBMSG$K_ACCOUNT_NAME`090x2
X#define`09SMBMSG$K_AFTER_TIME`090x3
X#define`09SMBMSG$K_ALIGNMENT_PAGES`090x4
X#define`09SMBMSG$K_BOTTOM_MARGIN`090x5
X#define`09SMBMSG$K_CHARACTERISTICS`090x6
X#define`09SMBMSG$K_CHECKPOINT_DATA`090x7
X#define`09SMBMSG$K_CONDITION_VECTOR`090x8
X#define`09SMBMSG$K_DEVICE_NAME`090x9
X#define`09SMBMSG$K_DEVICE_STATUS`090xA
X#define`09SMBMSG$K_ENTRY_NUMBER`090xB
X#define`09SMBMSG$K_EXECUTOR_QUEUE`090xC
X#define`09SMBMSG$K_FILE_COPIES`090xD
X#define`09SMBMSG$K_FILE_COUNT`090xE
X#define`09SMBMSG$K_FILE_SETUP_MODULES`090xF
X#define`09SMBMSG$K_FIRST_PAGE`090x10
X#define`09SMBMSG$K_FORM_LENGTH`090x11
X#define`09SMBMSG$K_FORM_NAME`090x12
X#define`09SMBMSG$K_FORM_SETUP_MODULES`090x13
X#define`09SMBMSG$K_FORM_WIDTH`090x14
X#define`09SMBMSG$K_FILE_IDENTIFICATION`090x15
X#define`09SMBMSG$K_FILE_SPECIFICATION`090x16
X#define`09SMBMSG$K_JOB_COPIES`090x17
X#define`09SMBMSG$K_JOB_COUNT`090x18
X#define`09SMBMSG$K_JOB_NAME`090x19
X#define`09SMBMSG$K_JOB_RESET_MODULES`090x1A
X#define`09SMBMSG$K_LAST_PAGE`090x1B
X#define`09SMBMSG$K_LEFT_MARGIN`090x1C
X#define`09SMBMSG$K_LIBRARY_SPECIFICATION`090x1D
X#define`09SMBMSG$K_MAXIMUM_STREAMS`090x1E
X#define`09SMBMSG$K_MESSAGE_VECTOR`090x1F
X#define`09SMBMSG$K_NOTE`090x20
X#define`09SMBMSG$K_PAGE_SETUP_MODULES`090x21
X#define`09SMBMSG$K_PARAMETER_1`090x22
X#define`09SMBMSG$K_PARAMETER_2`090x23
X#define`09SMBMSG$K_PARAMETER_3`090x24
X#define`09SMBMSG$K_PARAMETER_4`090x25
X#define`09SMBMSG$K_PARAMETER_5`090x26
X#define`09SMBMSG$K_PARAMETER_6`090x27
X#define`09SMBMSG$K_PARAMETER_7`090x28
X#define`09SMBMSG$K_PARAMETER_8`090x29
X#define`09SMBMSG$K_PRINT_CONTROL`090x2A
X#define`09SMBMSG$K_PRIORITY`090x2B
X#define`09SMBMSG$K_QUEUE`090x2C
X#define`09SMBMSG$K_REFUSE_REASON`090x2D
X#define`09SMBMSG$K_RELATIVE_PAGE`090x2E
X#define`09SMBMSG$K_REQUEST_CONTROL`090x2F
X#define`09SMBMSG$K_REQUEST_RESPONSE`090x30
X#define`09SMBMSG$K_RIGHT_MARGIN`090x31
X#define`09SMBMSG$K_SEARCH_STRING`090x32
X#define`09SMBMSG$K_SEPARATION_CONTROL`090x33
X#define`09SMBMSG$K_STOP_CONDITION`090x34
X#define`09SMBMSG$K_TIME_QUEUED`090x35
X#define`09SMBMSG$K_TOP_MARGIN`090x36
X#define`09SMBMSG$K_UIC`090x37
X#define`09SMBMSG$K_USER_NAME`090x38
X#define`09SMBMSG$K_MAX_ITEM_CODE`090x39
X#define`09SMBMSG$S_ITEM_HEADER`090x4
X#define`09SMBMSG$W_ITEM_SIZE`090x0
X#define`09SMBMSG$W_ITEM_CODE`090x2
X#define`09SMBMSG$S_ACCOUNTING_DATA`090x10
X#define`09SMBMSG$L_PAGES_PRINTED`090x0
X#define`09SMBMSG$L_QIO_PUTS`090x4
X#define`09SMBMSG$L_RMS_GETS`090x8
X#define`09SMBMSG$L_CPU_TIME`090xC
X#define`09SMBMSG$S_CHECKPOINT_DATA`090x18
X#define`09SMBMSG$B_FILLER`090x0
X#define`09SMBMSG$B_CHECKPOINT_LEVEL`090x1
X#define`09SMBMSG$W_OFFSET`090x2
X#define`09SMBMSG$L_CARCON`090x4
X#define`09SMBMSG$L_PAGE`090x8
X#define`09SMBMSG$L_RECORD_NUMBER`090xC
X#define`09SMBMSG$S_USER_KEY`090x8
X#define`09SMBMSG$Q_USER_KEY`090x10
X#define`09SMBMSG$M_LOWERCASE`090x1
X#define`09SMBMSG$M_PAUSE_TASK`090x2
X#define`09SMBMSG$M_REMOTE`090x4
X#define`09SMBMSG$M_SERVER`090x8
X#define`09SMBMSG$M_STALLED`090x10
X#define`09SMBMSG$M_STOP_STREAM`090x20
X#define`09SMBMSG$M_TERMINAL`090x40
X#define`09SMBMSG$M_UNAVAILABLE`090x80
X#define`09SMBMSG$M_SYM_NOTIFIES`090x100
X#define`09SMBMSG$M_SYM_REQUESTS_OPER`090x200
X#define`09SMBMSG$M_SYM_COPIES_FILE`090x400
X#define`09SMBMSG$M_SYM_COPIES_JOB`090x800
X#define`09SMBMSG$M_SYM_ACCEPTS_ALL_FORMS`090x1000
X#define`09SMBMSG$M_SYM_NO_JOB_CHECKPOINT`090x2000
X#define`09SMBMSG$S_DEVICE_STATUS`090x4
X#define`09SMBMSG$L_DEVICE_FLAGS`090x0
X#define`09SMBMSG$V_LOWERCASE`090x0
X#define`09SMBMSG$V_PAUSE_TASK`090x1
X#define`09SMBMSG$V_REMOTE`090x2
X#define`09SMBMSG$V_SERVER`090x3
X#define`09SMBMSG$V_STALLED`090x4
X#define`09SMBMSG$V_STOP_STREAM`090x5
X#define`09SMBMSG$V_TERMINAL`090x6
X#define`09SMBMSG$V_UNAVAILABLE`090x7
X#define`09SMBMSG$V_SYM_NOTIFIES`090x8
X#define`09SMBMSG$V_SYM_REQUESTS_OPER`090x9
X#define`09SMBMSG$V_SYM_COPIES_FILE`090xA
X#define`09SMBMSG$V_SYM_COPIES_JOB`090xB
X#define`09SMBMSG$V_SYM_ACCEPTS_ALL_FORMS`090xC
X#define`09SMBMSG$V_SYM_NO_JOB_CHECKPOINT`090xD
X#define`09SMBMSG$M_DOUBLE_SPACE`090x1
X#define`09SMBMSG$M_PAGE_HEADER`090x2
X#define`09SMBMSG$M_PAGINATE`090x4
X#define`09SMBMSG$M_PASSALL`090x8
X#define`09SMBMSG$M_SEQUENCED`090x10
X#define`09SMBMSG$M_SHEET_FEED`090x20
X#define`09SMBMSG$M_TRUNCATE`090x40
X#define`09SMBMSG$M_WRAP`090x80
X#define`09SMBMSG$M_RECORD_BLOCKING`090x100
X#define`09SMBMSG$M_PAGE_FOOTER`090x200
X#define`09SMBMSG$M_DELETE_FILE`090x400
X#define`09SMBMSG$M_LOWERCASE_EXPLICIT`090x800
X#define`09SMBMSG$M_NOTIFY`090x1000
X#define`09SMBMSG$M_RESTART`090x2000
X#define`09SMBMSG$S_PRINT_CONTROL`090x4
X#define`09SMBMSG$L_PRINT_FLAGS`090x0
X#define`09SMBMSG$V_DOUBLE_SPACE`090x0
X#define`09SMBMSG$V_PAGE_HEADER`090x1
X#define`09SMBMSG$V_PAGINATE`090x2
X#define`09SMBMSG$V_PASSALL`090x3
X#define`09SMBMSG$V_SEQUENCED`090x4
X#define`09SMBMSG$V_SHEET_FEED`090x5
X#define`09SMBMSG$V_TRUNCATE`090x6
X#define`09SMBMSG$V_WRAP`090x7
X#define`09SMBMSG$V_RECORD_BLOCKING`090x8
X#define`09SMBMSG$V_PAGE_FOOTER`090x9
X#define`09SMBMSG$V_DELETE_FILE`090xA
X#define`09SMBMSG$V_LOWERCASE_EXPLICIT`090xB
X#define`09SMBMSG$V_NOTIFY`090xC
X#define`09SMBMSG$V_RESTART`090xD
X#define`09SMBMSG$M_ALIGNMENT_MASK`090x1
X#define`09SMBMSG$M_PAUSE_COMPLETE`090x2
X#define`09SMBMSG$M_RESTARTING`090x4
X#define`09SMBMSG$M_TOP_OF_FILE`090x8
X#define`09SMBMSG$S_REQUEST`090x4
X#define`09SMBMSG$L_REQUEST_FLAGS`090x0
X#define`09SMBMSG$V_ALIGNMENT_MASK`090x0
X#define`09SMBMSG$V_PAUSE_COMPLETE`090x1
X#define`09SMBMSG$V_RESTARTING`090x2
X#define`09SMBMSG$V_TOP_OF_FILE`090x3
X#define`09SMBMSG$M_FILE_BURST`090x1
X#define`09SMBMSG$M_FILE_FLAG`090x2
X#define`09SMBMSG$M_FILE_TRAILER`090x4
X#define`09SMBMSG$M_FILE_TRAILER_ABORT`090x8
X#define`09SMBMSG$M_JOB_FLAG`090x10
X#define`09SMBMSG$M_JOB_BURST`090x20
X#define`09SMBMSG$M_JOB_RESET`090x40
X#define`09SMBMSG$M_JOB_RESET_ABORT`090x80
X#define`09SMBMSG$M_JOB_TRAILER`090x100
X#define`09SMBMSG$M_JOB_TRAILER_ABORT`090x200
X#define`09SMBMSG$M_FIRST_FILE_OF_JOB`090x400
X#define`09SMBMSG$M_LAST_FILE_OF_JOB`090x800
X#define`09SMBMSG$S_SEPARATION_CONTROL`090x4
X#define`09SMBMSG$L_SEPARATION_FLAGS`090x0
X#define`09SMBMSG$V_FILE_BURST`090x0
X#define`09SMBMSG$V_FILE_FLAG`090x1
X#define`09SMBMSG$V_FILE_TRAILER`090x2
X#define`09SMBMSG$V_FILE_TRAILER_ABORT`090x3
X#define`09SMBMSG$V_JOB_FLAG`090x4
X#define`09SMBMSG$V_JOB_BURST`090x5
X#define`09SMBMSG$V_JOB_RESET`090x6
X#define`09SMBMSG$V_JOB_RESET_ABORT`090x7
X#define`09SMBMSG$V_JOB_TRAILER`090x8
X#define`09SMBMSG$V_JOB_TRAILER_ABORT`090x9
X#define`09SMBMSG$V_FIRST_FILE_OF_JOB`090xA
X#define`09SMBMSG$V_LAST_FILE_OF_JOB`090xB
X
X/* End of SMBDEF.H */
$ CALL UNPACK SMBDEF.H;1 1144478779
$ create 'f'
X$`09Setv = 'F$Verify( "No" )
X$!
X$!`09File`09`09: START_LAT_PRINT
X$!`09Author`09`09: Nick de Smith
X$!`09Creation date`09: 27-Mar-91
X$!
X$!`09Function:
X$!`09Start the LAT terminal printer(s):
X$!
X$!`09`09P1`09Queue name, eg. SYS$PRINT
X$!`09`09P2`09Device name, eg. LTA42:
X$!`09`09P3`09DECserver node name, eg. MARDS4
X$!`09`09P4`09DECserver port name, eg. PORT_8
X$!`09`09P5`09Description text (optional)
X$!`09`09P6`09Processor name, default is LATSYM
X$!
X$!`09Edit`09Edit date`09Who`09Reason
X$!`091.01`0927-Mar-91`09NMdS`09New
X$!
X$`09On WARNING Then Goto HANDLER
X$!
X$`09Name`09= F$Parse( F$Environment( "PROCEDURE" ),,, "NAME" )
X$`09Info`09= "%" + Name + "-I, "
X$`09Warn`09= "%" + Name + "-W, "
X$`09Fatal`09= "%" + Name + "-F, "
X$`09Say`09= "Write SYS$OUTPUT"
X$!
X$`09Queue_Name := 'P1`09`09`09`09`09`09! Pick up the name of the queue
X$`09If Queue_Name .eqs. ""
X$`09Then`09Say Fatal, "No queue name specified"
X$`09`09Goto END
X$`09EndIf
X$!
X$`09Device_Name := 'P2
X$`09If Device_Name .eqs. ""
X$`09Then`09Say Fatal, "No device name specified"
X$`09`09Goto END
X$`09EndIf
X$`09If F$GetDvI( Device_Name, "EXISTS" )
X$`09Then`09Say Fatal, Device_Name, " already exists"
X$`09`09Goto END
X$`09EndIf
X$!
X$`09Server_Name := 'P3
X$`09If Server_Name .eqs. ""
X$`09Then`09Say Fatal, "No LAT server name specified"
X$`09`09Goto END
X$`09EndIf
X$!
X$`09Port_Name := 'P4
X$`09If Port_Name .eqs. ""
X$`09Then`09Say Fatal, "No LAT server port name specified"
X$`09`09Goto END
X$`09EndIf
X$!
X$`09Description = P5
X$!
X$`09Processor := 'P6
X$`09If Processor .eqs. ""
X$`09Then`09Processor = "LATSYM"
X$`09Else`09If F$Search( F$Parse( "SYS$SYSTEM:.EXE", Processor ) ) .nes. ""
X$`09`09Then`09Say Info, "Using non-standard processor ", Processor
X$`09`09Else`09Say Fatal, Processor, " is not a valid processor name"
X$`09`09`09Goto END
X$`09`09EndIf
X$`09EndIf
X$!
X$ `09LATCP = "$LATCP"
X$`09LATCP Create Port 'Device_Name
X$`09LATCP Set Port 'Device_Name /Application /Node='Server_Name /Port='Port_
VName
X$!
X$`09Device_Name = F$GetDvI( Device_Name, "DEVNAM" )
X$`09Set Terminal &Device_Name /Perm /NoTypeAhead /NoWrap-
X`09`09/Form`09/Speed=9600`09/Eightbit`09/NoParity-
X`09`09/NoTab`09/NoBroadcast`09/Width=132`09/Page=0`09/Device=UNKNOWN
X$!
X$`09Node = F$Edit( F$GetSYI( "SCSNODE" ), "COLLAPSE" )
X$`09If Node .nes. "" Then Node = Node + "::"
X$`09Initialize /Queue /Start &Queue_Name /Forms=0 /Default=(NoFlag,NoBurst,N
VoTrailer) -
X`09`09/On='Node''Device_Name'  /Schedule=NoSize /Protection=(W:We) -
X`09`09/Processor='Processor' /Description="''Description'"
X$!
X$`09If Description .nes. ""
X$`09Then`09Description = " <" + Description + ">"
X$`09Endif
X$`09Say Info, Queue_Name, Description, " started on ", Server_Name, " port "
V, Port_Name, " (", Device_Name, ")"
X$`09Goto END
X$!
X$!`09Error handler
X$!
X$ HANDLER:
X$`09Say F$Fao( "!AS, !AS!/!AS", Fatal, "Fatal error detected", F$Message( $S
VTATUS ) )
X$`09Goto END
X$!
X$ END:`09Setv = F$Verify( Setv )
$ CALL UNPACK START_LAT_PRINT.COM;1 1275374068
$ v=f$verify(v)
$ EXIT

