[comp.os.os9] PT

ocker@lan.informatik.tu-muenchen.dbp.de (Wolfgang Ocker) (01/10/89)

So here they are, PT(T)Ys for OS-9/68000. During the next days I will
post an adapted version of SCREEN and the diffs for UNIX-Windows.

Please excuse the bad english language in the manual (and send me
a corrected version please, thanks :-)

Have fun,
/// Wolfgang Ocker

---- cut here ---- cut here ---- cut here ---- cut here ---- cut here ----
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 1)."
# Contents:  README MANIFEST tty__.a pty__.a makefile pty.man ptys.uu
# Wrapped by oskst@recsys on Thu Jan  5 15:04:39 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(417 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
XPTY driver for OSK
X
XCopyrighted (c) 1988, 1989 by reccoware systems, Wolfgang Ocker, Puchheim.
X
XThis software may not be sold or used for any commercial purposes.  If
Xyou want to use it in commercial projects, you must have the written
Xpermission of the author. 
X
XWolfgang Ocker
Xc/o reccoware systems
XLochhauserstrasse 35a
XD-8039 Puchheim
XTel. ++49 89 80 77 02
X
Xe-mail: weo@recco, weo%recco@tmpmbx, weo@altger
X
X(weo)
END_OF_FILE
if test 417 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(313 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
X   File Name		Archive #	Description
X-----------------------------------------------------------
X MANIFEST                   1	
X README                     1	
X makefile                   1	
X pty.man                    1	
X pty__.a                    1	
X ptys.uu                    1	
X tty__.a                    1	
END_OF_FILE
if test 313 -ne `wc -c <'MANIFEST'`; then
    echo shar: \"'MANIFEST'\" unpacked with wrong size!
fi
# end of 'MANIFEST'
fi
if test -f 'tty__.a' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'tty__.a'\"
else
echo shar: Extracting \"'tty__.a'\" \(268 characters\)
sed "s/^X//" >'tty__.a' <<'END_OF_FILE'
X nam TTY__
X ttl 68000 PTY Client
X use defsfile
X
X* changes to default values
Xpagpause  equ ON turn on pause
X* autoecho  equ OFF no echo
X use scfdesc.a
X
XPtyNum set 0 pty number (0 .. 31)    *** CHANGE HERE! ***
XPtyType set 1 pty type (0 = s-pty, 1 = c-pty)
X
X PTY
X ends
X
END_OF_FILE
if test 268 -ne `wc -c <'tty__.a'`; then
    echo shar: \"'tty__.a'\" unpacked with wrong size!
fi
# end of 'tty__.a'
fi
if test -f 'pty__.a' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'pty__.a'\"
else
echo shar: Extracting \"'pty__.a'\" \(766 characters\)
sed "s/^X//" >'pty__.a' <<'END_OF_FILE'
X nam PTY__
X ttl 68000 PTY Server
X use defsfile
X use pty.d
X
X* changes to default values
Xpagpause equ OFF turn off pause
Xautoecho equ OFF no echo
Xbsb equ OFF backspace=BS,SP,BS
Xautolf equ OFF auto line feed
X*C$Bsp equ 0 backspace char
XC$Del equ 0 delete line char
XC$CR equ 0 end of record char
XC$EOF equ 0 end of file char
XC$Rprt equ 0 reprint line char
XC$Rpet equ 0 dup last line char
XC$Paus equ 0 pause char
XC$Intr equ 0 Keyboard Interrupt char
XC$Quit equ 0 Keyboard Quit char
XC$Bsp equ 0 backspace echo char
XC$Bell equ 0 line overflow char
XC$XOn equ 0 Transmit Enable char
XC$XOff equ 0 Transmit Disable char
XC$Tab equ 0 tab character
X
X use scfdesc.a
X
XPtyNum set 0 pty number (0 .. 31)  *** CHANGE HERE! ***
XPtyType set 0 pty type (0 = s-pty, 1 = c-pty)
X PTY
X ends
X
END_OF_FILE
if test 766 -ne `wc -c <'pty__.a'`; then
    echo shar: \"'pty__.a'\" unpacked with wrong size!
fi
# end of 'pty__.a'
fi
if test -f 'makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'makefile'\"
else
echo shar: Extracting \"'makefile'\" \(2078 characters\)
sed "s/^X//" >'makefile' <<'END_OF_FILE'
XRDIR    = RELS
XODIR    = ../CMDS/BOOTOBJS
XLIB     = -l=/dd/LIB/sys.l
XSCFSTAT = /h0/LIB/scfstat.l
X
X
XPTYS = $(ODIR)/pty \
X       $(ODIR)/tty00 $(ODIR)/pty00 $(ODIR)/tty01 $(ODIR)/pty01 \
X       $(ODIR)/tty02 $(ODIR)/pty02 $(ODIR)/tty03 $(ODIR)/pty03 \
X       $(ODIR)/tty04 $(ODIR)/pty04 $(ODIR)/tty05 $(ODIR)/pty05 \
X       $(ODIR)/tty06 $(ODIR)/pty06 $(ODIR)/tty07 $(ODIR)/pty07 \
X       $(ODIR)/tty08 $(ODIR)/pty08 $(ODIR)/tty09 $(ODIR)/pty09
X
XPTYMODS = pty tty00 pty00 tty01 pty01 tty02 pty02 tty03 pty03 \
X          tty04 pty04 tty05 pty05 tty06 pty06 tty07 pty07 tty08 pty08 \
X          tty09 pty09
X
Xall.date: $(ODIR)/ptys
X  @touch all.date
X  @echo "ALL DONE"
X
X$(ODIR)/ptys: $(PTYS)
X  chd $(ODIR); merge $(PTYMODS) >-ptys
X
X
X$(ODIR)/pty: pty.r
X  chd $(RDIR); l68 -go=$@ $(SCFSTAT) pty.r $(LIB)
X
X$(ODIR)/tty00: tty00.r
X  chd $(RDIR); l68 -o=$@ tty00.r $(LIB)
X
X$(ODIR)/pty00: pty00.r
X  chd $(RDIR); l68 -o=$@ pty00.r $(LIB)
X
X$(ODIR)/tty01: tty01.r
X  chd $(RDIR); l68 -o=$@ tty01.r $(LIB)
X
X$(ODIR)/pty01: pty01.r
X  chd $(RDIR); l68 -o=$@ pty01.r $(LIB)
X
X$(ODIR)/tty02: tty02.r
X  chd $(RDIR); l68 -o=$@ tty02.r $(LIB)
X
X$(ODIR)/pty02: pty02.r
X  chd $(RDIR); l68 -o=$@ pty02.r $(LIB)
X
X$(ODIR)/tty03: tty03.r
X  chd $(RDIR); l68 -o=$@ tty03.r $(LIB)
X
X$(ODIR)/pty03: pty03.r
X  chd $(RDIR); l68 -o=$@ pty03.r $(LIB)
X
X$(ODIR)/tty04: tty04.r
X  chd $(RDIR); l68 -o=$@ tty04.r $(LIB)
X
X$(ODIR)/pty04: pty04.r
X  chd $(RDIR); l68 -o=$@ pty04.r $(LIB)
X
X$(ODIR)/tty05: tty05.r
X  chd $(RDIR); l68 -o=$@ tty05.r $(LIB)
X
X$(ODIR)/pty05: pty05.r
X  chd $(RDIR); l68 -o=$@ pty05.r $(LIB)
X
X$(ODIR)/tty06: tty06.r
X  chd $(RDIR); l68 -o=$@ tty06.r $(LIB)
X
X$(ODIR)/pty06: pty06.r
X  chd $(RDIR); l68 -o=$@ pty06.r $(LIB)
X
X$(ODIR)/tty07: tty07.r
X  chd $(RDIR); l68 -o=$@ tty07.r $(LIB)
X
X$(ODIR)/pty07: pty07.r
X  chd $(RDIR); l68 -o=$@ pty07.r $(LIB)
X
X$(ODIR)/tty08: tty08.r
X  chd $(RDIR); l68 -o=$@ tty08.r $(LIB)
X
X$(ODIR)/pty08: pty08.r
X  chd $(RDIR); l68 -o=$@ pty08.r $(LIB)
X
X$(ODIR)/tty09: tty09.r
X  chd $(RDIR); l68 -o=$@ tty09.r $(LIB)
X
X$(ODIR)/pty09: pty09.r
X  chd $(RDIR); l68 -o=$@ pty09.r $(LIB)
X
X
END_OF_FILE
if test 2078 -ne `wc -c <'makefile'`; then
    echo shar: \"'makefile'\" unpacked with wrong size!
fi
# end of 'makefile'
fi
if test -f 'pty.man' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'pty.man'\"
else
echo shar: Extracting \"'pty.man'\" \(4330 characters\)
sed "s/^X//" >'pty.man' <<'END_OF_FILE'
X
X
X     Pty                              SYS                               Pty
X
X
X     NNAAMMEE 
X          Pty - Pseudo TTY Driver 
X
X
X     SSYYNNOOPPSSIISS 
X
X
X
X     DDEESSCCRRIIPPTTIIOONN 
X          The  PPTTYY  ddrriivveerr  simulates  a  tty line. The ppttyy consists of two
X          parts:  The sseerrvveerr ssiiddee (normally opened by a server) and the ttttyy
X          ssiiddee,, normally openend by the server for a client process.  
X
X                  +------+      +-----+    +----------+    +-----+      +------+
X                  |server|<---->|s-pty|<-->|pty driver|<-->|c-pty|<---->|client|
X                  +------+      +-----+    +----------+    +-----+      +------+
X
X                                server                     client
X                                PTY                        PTY
X
X
X          For  the  client, the cc--ppttyy looks like a real SCF device. For the
X          server,  the  ss--ppttyy  looks  like a SCF device, too, but with some
X          minor (but necessary) differences: 
X
X            Only  one  path can be open to a ss--ppttyy device. If an attempt to
X            open  an  already  open ss--ppttyy device, the error EE ((ddeevviiccee bbuussyy))
X            is  returned.  This  is very useful for determing whether a pty
X            is in use already.  
X
X            The  ss--ppttyy  is  opened in raw mode, i.e. all control characters
X            are disabled.  
X
X            If  the  path  to  the  ss--ppttyy  is  closed,  a  hhaanngguupp ssiiggnnaall is
X            automatically  send  to  the  process  "on the other side" (the
X            cc--ppttyy)),, and the SCF filemanager is informed about that.  
X
X          Both   processes,   server  and  client,  may  use  the  SSSS__SSiiggnnll
X          ((__ssss__ssiiggnnll(()))) and the SSSS__RReeaaddyy ((__ggss__rrddyy(()))) functions.  
X
X          ss--ppttyyss  are  named  pty00,  pty01,  pty02,  ..., cc--ppttyyss are named
X          ttttyy0000,, ttttyy0011,, ttttyy0022,, ......  
X
X          The driver supports up to 32 ppttyyss..  
X
X          In  the  file  ppttyyss  the  pty  driver  and  the ptys 00 to 09 are
X          supplied.   If  you  want  to  add further ptys, you may edit the
X          ppttyy____..aa and ttttyy____..aa files, assemble and link them.  
X
X
X
X     EEXXAAMMPPLLEESS 
X          Try the following:
X
X                  tsmon /tty00 &  ;* start tsmon on c-tty
X                  com /pty00      ;* connect via pty to tsmon, try to log in
X
X
X     BBUUGGSS 
X          None known 
X
X
X     Page 1                                  Printed (05 Jan 1989 15:03:45)
X
X
X     Pty                              SYS                               Pty
X
X
X
X
X     FFIILLEESS 
X          ptys:   the pty driver and s-pty and c-pty device descriptors (packed 
X                  into one module)
X
X          Installation: 
X
X          The  pty  driver is configured for the  CCUUMMAANNAA OOSS--99//6688000000 ffoorr tthhee
X          SSTT..   If  you  have another system, you must apply a little patch
X          to the pty driver (in the file ptys.) 
X
X          First,  add  the variable DD__PPTTYY in the file //DDEEFFSS//iioogglloobb..aa in the
X          section CCPPUU SSppeecciiffiicc DDeeffiinniittiioonnss..  
X
X          This  file  is  delivered  by  Microware.  Reassemble  the  ssyyss..ll
X          library  (a  makefile  is  supplied by Microware, too.) Determine
X          the  value of the symbol DD__PPTTYY with the rrdduummpp program (or make an
X          assembly listing of iioogglloobb..aa..)) 
X
X          Patch  the  file  ppttyyss  at address $$0000BB66 ((hheexx)) with the lloonngg wwoorrdd
X          vvaalluuee of the symbol DD__PPTTYY..  Run  ffiixxmmoodd --uu ppttyyss..  
X
X
X
X     SSYYSSIINNFFOO 
X          not needed
X
X
X
X     SSEEEE AALLSSOO 
X          Microware's technical manual
X          load, iniz, fixmod
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X     Page 2                                  Printed (05 Jan 1989 15:03:47)
X
END_OF_FILE
echo shar: 380 control characters may be missing from \"'pty.man'\"
if test 4330 -ne `wc -c <'pty.man'`; then
    echo shar: \"'pty.man'\" unpacked with wrong size!
fi
# end of 'pty.man'
fi
if test -f 'ptys.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ptys.uu'\"
else
echo shar: Extracting \"'ptys.uu'\" \(4801 characters\)
sed "s/^X//" >'ptys.uu' <<'END_OF_FILE'
X
Xbegin 644 ptys
XM2OP``0```\0````!```#O`55#@&@```!````````````````````````````8
XM`!XN````/`````````!X`+H!9`'6`KH"U@-R3U,M.2\V.#`P,"!,979E;"!)U
XM(%8R+C(@+2T@<'1Y.B!05%D@9')I=F5R`$-O<'ER:6=H=',@*&,I(#$Y.#@@<
XM8GD@<F5C8V]W87)E('-Y<W1E;7,L(%=O;&9G86YG($]C:V5R+"!0=6-H:&5I5
XM;0````?8*DH@/````@!.0``H90``DBM*`%0@.O_F2K8(`&8>(#P```$`3D``*
XM*&5V(#K_T"V*"``P/``_0II1R/_\)$T@.O^\*G8(`$*`,"D`/"!)T,!"@#`H>
XM```U0`!F(CP````(PL#:P25-`&HP*``"-4``:&8&*TH`!&`$*TH``"!J`%0ER
XM2`!>)4@`8M#\`@`E2`!80FH`7$)J`&Y":@!T8``!,$YU-6H`!@`(83)*:@!N`
XM9B)*:@!<9^P@:@!B$!A3:@!<L>H`6&4$(&H`5"5(`&)@``#^,CP`]@`\``%.N
XM=4CG@(!P`"!N`Z0@:``H3I`R+``FLGP``6\&LGP`!&,.""P``0`<9@9,WP$!,
XM3G5/[P`,`#P``4YU-6H`!@`(8<!**@!V9O(J:@!J2FH`:&8&(BT``&`$(BT`E
XM!&8$<@!.=2I!/P`P+0!N9PPR+0!P0FT`;DY```@P'TH`9U*P+0`U9@1R`V`(X
XML"T`-F82<@(_`#`M``1G!$Y```@P'V`PL"T`-V802JT`+F<D(&T`+A%``#1@9
XM&K`M`#EF!D(M`'9@,K`M`#IF"!M\``$`=F`D,BT`7+)\`?]G`/]@4FT`7"!M!
XM`%X0P+'M`%AE!"!M`%0K2`!>/P`J:@!J2FH`:&8&(BT``&`$(BT`!&<4*D$P@
XM+0`(9PQ";0`(,CP``4Y```@P'W(`3G4,0``!9@``GB!I``I":``$,6H`7``&W
XM9P``EDYU#$``&F8T2FH`;F8``(8P*0`((&D`"C(H``I*:@!<9A(U0`!N-4$`'
XM<#5I````<G(`3G5.0``(<@!.=0Q``!MF'#0I``@P*0``1^H`;K139@BP:P`$:
XM9@)"4W(`3G4,0``J9B9*:@!H9@I*:@!T9@A2:@!T<@!.=21I``1.0`"!,CP`)
XM^@`\``%.=3(\`-``/``!3G4R/`#V`#P``4YU*FH`:DIJ`&AF"D*M``0B+0``H
XM8`A"K0``(BT`!&<:2FH`:&84*D$;?`#_`$9R!#`M``1G!$Y```@@/````@`DB
XM:@!43D``*7(`3G5P='D```Q[1TK\``$```!Z`````0```'`%50\`@```!```T
XM```````````````````````````_6````0$````C`&0`:`!L````````````T
XM'````0`!`0`!&`@8#1L$`1<#!0@'````<!$3"0138V8`<'1Y``````%T='DP?
XM,```FF>E2OP``0```'H````!````<`55#P"````$````````````````````U
XM`````````#]8```!`````",`9`!H`&P````````````<```````````8````G
XM``````````````!P````!%-C9@!P='D``````'!T>3`P``#X9GU*_``!````,
XM>@````$```!P!54/`(````0`````````````````````````````/U@```$#S
XM````(P!D`&@`;````````````!P```$``0$``1@(&`T;!`$7`P4(!P```'`1/
XM$PD$4V-F`'!T>0```0`!='1Y,#$``.(-^TK\``$```!Z`````0```'`%50\`B
XM@```!``````````````````````````````_6````0(````C`&0`:`!L````Y
XM````````'```````````&```````````````````<`````138V8`<'1Y```!B
XM``!P='DP,0``@`PC2OP``0```'H````!````<`55#P"````$````````````,
XM`````````````````#]8```!!0```",`9`!H`&P````````````<```!``$!7
XM``$8"!@-&P0!%P,%"`<```!P$1,)!%-C9@!P='D```(``71T>3`R``!JLQE*T
XM_``!````>@````$```!P!54/`(````0`````````````````````````````5
XM/U@```$$````(P!D`&@`;````````````!P``````````!@`````````````K
XM`````'`````$4V-F`'!T>0```@``<'1Y,#(```BRP4K\``$```!Z`````0``K
XM`'`%50\`@```!``````````````````````````````_6````0<````C`&0`#
XM:`!L````````````'````0`!`0`!&`@8#1L$`1<#!0@'````<!$3"0138V8`$
XM<'1Y```#``%T='DP,P``$ME'2OP``0```'H````!````<`55#P"````$````V
XM`````````````````````````#]8```!!@```",`9`!H`&P````````````<5
XM```````````8``````````````````!P````!%-C9@!P='D```,``'!T>3`S(
XM``!PV)]*_``!````>@````$```!P!54/`(````0`````````````````````&
XM````````/U@```$)````(P!D`&@`;````````````!P```$``0$``1@(&`T;\
XM!`$7`P4(!P```'`1$PD$4V-F`'!T>0``!``!='1Y,#0``/O.ODK\``$```!Z?
XM`````0```'`%50\`@```!``````````````````````````````_6````0@`^
XM```C`&0`:`!L````````````'```````````&```````````````````<```_
XM``138V8`<'1Y```$``!P='DP-```F<]F2OP``0```'H````!````<`55#P"`K
XM```$`````````````````````````````#]8```!"P```",`9`!H`&P`````"
XM```````<```!``$!``$8"!@-&P0!%P,%"`<```!P$1,)!%-C9@!P='D```4`2
XM`71T>3`U``"#I.!*_``!````>@````$```!P!54/`(````0`````````````M
XM````````````````/U@```$*````(P!D`&@`;````````````!P`````````9
XM`!@``````````````````'`````$4V-F`'!T>0``!0``<'1Y,#4``.&E.$K\0
XM``$```!Z`````0```'`%50\`@```!``````````````````````````````_8
XM6````0T````C`&0`:`!L````````````'````0`!`0`!&`@8#1L$`1<#!0@'T
XM````<!$3"0138V8`<'1Y```&``%T='DP-@``"QH"2OP``0```'H````!````1
XM<`55#P"````$`````````````````````````````#]8```!#````",`9`!HP
XM`&P````````````<```````````8``````````````````!P````!%-C9@!P@
XM='D```8``'!T>3`V``!I&]I*_``!````>@````$```!P!54/`(````0`````S
XM````````````````````````/U@```$/````(P!D`&@`;````````````!P`>
XM``$``0$``1@(&`T;!`$7`P4(!P```'`1$PD$4V-F`'!T>0``!P`!='1Y,#<`!
XM`'-P7$K\``$```!Z`````0```'`%50\`@```!```````````````````````>
XM```````_6````0X````C`&0`:`!L````````````'```````````&```````U
XM````````````<`````138V8`<'1Y```'``!P='DP-P``$7&$2OP``0```'H`_
XM```!````<`55#P"````$`````````````````````````````#]8```!$0``'
XM`",`9`!H`&P````````````<```!``$!``$8"!@-&P0!%P,%"`<```!P$1,)K
XM!%-C9@!P='D```@``71T>3`X``!9-9-*_``!````>@````$```!P!54/`(``+
XM``0`````````````````````````````/U@```$0````(P!D`&@`;```````'
XM`````!P``````````!@``````````````````'`````$4V-F`'!T>0``"```I
XM<'1Y,#@``#LT2TK\``$```!Z`````0```'`%50\`@```!```````````````>
XM```````````````_6````1,````C`&0`:`!L````````````'````0`!`0`!F
XM&`@8#1L$`1<#!0@'````<!$3"0138V8`<'1Y```)``%T='DP.0``(5_-2OP`4
XM`0```'H````!````<`55#P"````$`````````````````````````````#]8P
XM```!$@```",`9`!H`&P````````````<```````````8````````````````B
X=``!P````!%-C9@!P='D```D``'!T>3`Y``!#7A4`R
X``
Xend
Xsize 3404
END_OF_FILE
if test 4801 -ne `wc -c <'ptys.uu'`; then
    echo shar: \"'ptys.uu'\" unpacked with wrong size!
fi
# end of 'ptys.uu'
fi
echo shar: End of archive 1 \(of 1\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have the archive.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
  |  Wolfgang Ocker          |  ocker@lan.informatik.tu-muenchen.dbp.de  |
  |  Lochhauserstr. 35a      |      pyramid!tmpmbx!recco!weo (home)      |
  |  D-8039 Puchheim         |     Technische Universitaet Muenchen      |
  |  Voice: +49 89 80 77 02  |          Huh, What? Where am I?           |