(FILECREATED "26-Mar-87 09:58:58" {MCS:MCS:STANFORD}<LANE>TALKGAP.LSP;3        

      previous date: " 3-Mar-87 10:52:35" {MCS:MCS:STANFORD}<LANE>TALKGAP.LSP;2)


(PRETTYCOMPRINT TALKGAPCOMS)

(RPAQQ TALKGAPCOMS ((COURIERPROGRAMS TALKGAP)
		      (P (DEFINE.GAP.SERVER))))

(COURIERPROGRAM TALKGAP (3 3)
    TYPES
      [(WaitTime CARDINAL)
       (CharLength (ENUMERATION (five 0)
				(six 1)
				(seven 2)
				(eight 3)))
       (Parity (ENUMERATION (none 0)
			    (odd 1)
			    (even 2)
			    (one 3)
			    (zero 4)))
       (StopBits (ENUMERATION (one 0)
			      (two 1)))
       (FlowControl (RECORD (type (ENUMERATION (none 0)
					       (xOnXOff 1)))
			    (xOn UNSPECIFIED)
			    (xOff UNSPECIFIED)))
       (SessionHandle (ARRAY 2 UNSPECIFIED))
       [SessionParameterObject (CHOICE (xerox800 0 NIL)
				       (xerox850 1 UNSPECIFIED)
				       (xerox860 2 UNSPECIFIED)
				       (system6 3 (RECORD (sendBlockSize CARDINAL)
							  (receiveBlockSize CARDINAL)))
				       (cmcll 4 (RECORD (sendBlockSize CARDINAL)
							(receiveBlockSize CARDINAL)))
				       (ibm2770 5 (RECORD (sendBlockSize CARDINAL)
							  (receiveBlockSize CARDINAL)))
				       (ibm2770Host 6 (RECORD (sendBlockSize CARDINAL)
							      (receiveBlockSize CARDINAL)))
				       (ibm6670 7 (RECORD (sendBlockSize CARDINAL)
							  (receiveBlockSize CARDINAL)))
				       (ibm6670Host 8 (RECORD (sendBlockSize CARDINAL)
							      (receiveBlockSize CARDINAL)))
				       (ibm3270 9 NIL)
				       (ibm3270Host 10 NIL)
				       (OldTtyHost 11 (RECORD (charLength CharLength)
							      (parity Parity)
							      (stopBits StopBits)
							      (frameTimeout CARDINAL)))
				       (OldTty 12 (RECORD (charLength CharLength)
							  (parity Parity)
							  (stopBits StopBits)
							  (frameTimeout CARDINAL)))
				       (other 13 NIL)
				       (unknown 14 NIL)
				       (ibm2780 15 (RECORD (sendBlockSize CARDINAL)
							   (receiveBlockSize CARDINAL)))
				       (ibm2780Host 16 (RECORD (sendBlockSize CARDINAL)
							       (receiveBlockSize CARDINAL)))
				       (ibm3780 17 (RECORD (sendBlockSize CARDINAL)
							   (receiveBlockSize CARDINAL)))
				       (ibm3780Host 18 (RECORD (sendBlockSize CARDINAL)
							       (receiveBlockSize CARDINAL)))
				       (siemens9750 19 NIL)
				       (siemens9750Host 20 NIL)
				       (ttyHost 21 (RECORD (charLength CharLength)
							   (parity Parity)
							   (stopBits StopBits)
							   (frameTimeout CARDINAL)
							   (flowControl FlowControl)))
				       (tty 22 (RECORD (charLength CharLength)
						       (parity Parity)
						       (stopBits StopBits)
						       (frameTimeout CARDINAL)
						       (flowControl FlowControl]
       [TransportObject (CHOICE [rs232c 0 (RECORD (CommParams CommParamObject)
						  (preemptOthers ReserveType)
						  (preemptMe ReserveType)
						  (phoneNumber STRING)
						  (line (CHOICE (alreadyReserved 0
										 (RECORD
										   (resource Resource)
										   ))
								(reserveNeeded 1 (RECORD
										 (lineNumber CARDINAL]
				(bsc 1 (RECORD (localTerminalID STRING)
					       (localSecurityID STRING)
					       (lineControl LineControl)
					       (authenticateProc UNSPECIFIED)))
				(teletype 2 NIL)
				(polledBSCController 3 (RECORD (hostControllerName STRING)
							       (controllerAddress ControllerAddress)
							       (portsOnController CARDINAL)))
				(sdlcController 4 (RECORD (hostControllerName STRING)
							  (controllerAddress ControllerAddress)
							  (portsOnController CARDINAL)))
				(polledBSCTerminal 5 (RECORD (hostControllerName STRING)
							     (terminalAddress TerminalAddress)))
				(sdlcTerminal 6 (RECORD (hostControllerName STRING)
							(terminalAddress TerminalAddress)))
				(service 7 (RECORD (id LONGCARDINAL)))
				(unused 8 NIL)
				(polledBSCPrinter 9 (RECORD (hostControllerName STRING)
							    (printerAddress TerminalAddress)))
				(sdlcPrinter 10 (RECORD (hostControllerName STRING)
							(printerAddress TerminalAddress]
       (Sequence.TransportObject (SEQUENCE TransportObject))
       (BidReply (ENUMERATION (wack 0)
			      (nack 1)
			      (default 2)))
       (ExtendedBoolean (ENUMERATION (true 0)
				     (false 1)
				     (default 2)))
       (DeviceType (ENUMERATION (undefined 0)
				(terminal 1)
				(printer 2)))
       [AccessDetail (CHOICE (directConn 0 (RECORD (duplex (ENUMERATION (full 0)
									(half 1)))
						   (lineType LineType)
						   (lineSpeed LineSpeed)))
			     (dialConn 1 (RECORD (duplex (ENUMERATION (full 0)
								      (half 1)))
						 (lineType LineType)
						 (lineSpeed LineSpeed)
						 (dialMode (ENUMERATION (manual 0)
									(auto 1)))
						 (dialerNumber CARDINAL)
						 (retryCount CARDINAL]
       (CommParamObject (RECORD (accessDetail AccessDetail)))
       (LineType (ENUMERATION (bitSynchronous 0)
			      (byteSynchronous 1)
			      (asynchronous 2)
			      (autoRecognition 3)))
       (LineSpeed (ENUMERATION (bps50 0)
			       (bps75 1)
			       (bps110 2)
			       (bps135p5 3)
			       (bps150 4)
			       (bps300 5)
			       (bps600 6)
			       (bps1200 7)
			       (bps2400 8)
			       (bps3600 9)
			       (bps4800 10)
			       (bps7200 11)
			       (bps9600 12)
			       (bps19200 13)
			       (bps28800 14)
			       (bps38400 15)
			       (bps48000 16)
			       (bps56000 17)
			       (bps57600 18)))
       (LineControl (ENUMERATION (primary 0)
				 (secondary 1)))
       (ControllerAddress CARDINAL)
       (TerminalAddress CARDINAL)
       (credentials (AUTHENTICATION . CREDENTIALS))
       (verifier (AUTHENTICATION . VERIFIER))
       (Duplexity (ENUMERATION (full 0)
			       (half 1)))
       (PortClientType (ENUMERATION (unassigned 0)
				    (outOfService 1)
				    (its 2)
				    (irs 3)
				    (gws 4)
				    (ibm3270Host 5)
				    (ttyEmulation 6)
				    (rbs 7)
				    (fax 8)
				    (mailGateway 9)
				    (phototypesetter 10)))
       (PortDialerType (ENUMERATION (none 0)
				    (vadic 1)
				    (hayes 2)
				    (ventel 3)
				    (rs366 4)))
       (PortEchoingLocation (ENUMERATION (application 0)
					 (ciu 1)
					 (terminal 2)))
       (ReserveType (ENUMERATION (preemptNever 0)
				 (preemptAlways 1)
				 (preemptInactive 2)))
       (RS232CData (RECORD (cIUPort BOOLEAN)
			   (owningClientType PortClientType)
			   (preemptionAllowed BOOLEAN)
			   (lineNumber CARDINAL)
			   (dialerNumber CARDINAL)
			   (duplexity Duplexity)
			   (dialingHardware PortDialerType)
			   (charLength CharLength)
			   (echoing PortEchoingLocation)
			   (flowControl FlowControl)
			   (lineSpeed LineSpeed)
			   (parity Parity)
			   (stopBits StopBits)
			   (portActsAsDCE BOOLEAN)
			   (accessControl NSNAME)
			   (validLineSpeeds (SEQUENCE LineSpeed]
    PROCEDURES
      ((Reset 0)
       (Create 2 (SessionParameterObject Sequence.TransportObject WaitTime credentials verifier)
	       RETURNS
	       (SessionHandle)
	       REPORTS
	       (badAddressFormat controllerAlreadyExists controllerDoesNotExist 
				 dialingHardwareProblem illegalTransport inconsistentParams 
				 mediumConnectFailed noCommunicationHardware noDialingHardware 
				 terminalAddressInUse terminalAddressInvalid tooManyGateStreams 
				 transmissionMediumUnavailable serviceTooBusy userNotAuthenticated 
				 userNotAuthorized serviceNotFound)
	       IMPLEMENTEDBY GAP.SERVER))
    ERRORS
      ((unimplemented 0)
       (noCommunicationHardware 1)
       (illegalTransport 2)
       (mediumConnectFailed 3)
       (badAddressFormat 4)
       (noDialingHardware 5)
       (dialingHardwareProblem 6)
       (transmissionMediumUnavailable 23)
       (inconsistentParams 8)
       (tooManyGateStreams 9)
       (bugInGAPCode 10)
       (gapNotExported 11)
       (gapCommunicationError 12)
       (controllerAlreadyExists 13)
       (controllerDoesNotExist 14)
       (terminalAddressInUse 15)
       (terminalAddressInvalid 16)
       (serviceTooBusy 17)
       (userNotAuthenticated 18)
       (userNotAuthorized 19)
       (serviceNotFound 20)
       (registeredTwice 21)
       (transmissionMediumHardwareProblem 22)
       (transmissionMediumNotReady 24)
       (noAnswerOrBusy 25)
       (noRouteToGAPService 26)
       (gapServiceNotResponding 27)
       (courierProtocolMismatch 28)
       (gapVersionMismatch 29)))
(DEFINE.GAP.SERVER)
STOP