Commit Graph

41 Commits

Author SHA1 Message Date
ache
49e59cf368 Oops, fix typing error in prev. commit 1995-03-29 19:24:46 +00:00
ache
fd3f3cb675 Handle TTY_BI now instead of TTY_FE && c == 0 1995-03-29 19:22:37 +00:00
ache
7acb53a850 Move parmark 0377 double code after control chars processing 1995-03-29 18:55:20 +00:00
ache
8974e853cd ttyinput() fixes:
1) Preserve old buffer contents when input buffer overflows.

Old code clear buffer and rewrite it again, if !MAXBEL
(for MAXBEL it does right thing :-).
F.e. if you type too long string, last chars passed,
not first ones as expected.
Moreover, it flush output queue too in this case without any needs.

2) Don't do IXOFF, if IGNCR and c==\r, ignore completely.

3) If PARMRK is active and !ISTRIP and char == 0377
put yet one 0377 to distinguish it from parity mark sequence.
POSIX standard (thanx Bruce).

Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 15:25:13 +00:00
ache
1b66dee63f Bug fixed:
parity/framing/break not completely ignored when IGN* is set
but cause output restarted.
CVS:
1995-03-28 11:09:35 +00:00
bde
289f11acb4 Add and move declarations to fix all of the warnings from `gcc -Wimplicit'
(except in netccitt, netiso and netns) and most of the warnings from
`gcc -Wnested-externs'.  Fix all the bugs found.  There were no serious
ones.
1995-03-16 18:17:34 +00:00
ache
e33e8dd4a8 Workaround IXOFF bug when output queue is full && RTS control is on 1995-02-28 23:21:33 +00:00
pst
9b98fb36dc Incorporate bde's code-review comments.
(a) bring back ttselect, now that we have xxxdevtotty() it isn't dangerous.
(b) remove all of the wrappers that have been replaced by ttselect
(c) fix formatting in syscons.c and definition in syscons.h
(d) add cxdevtotty

NOT DONE:
(e) make pcvt work... it was already broken...when someone fixes pcvt to
	link properly, just rename get_pccons to xxxdevtotty and we're done
1995-02-28 00:21:11 +00:00
ugen
455c4accc3 same 1995-02-27 19:47:53 +00:00
pst
1dcb420b64 (a) remove the pointer to each driver's tty structure array from cdevsw
(b) add a function callback vector to tty drivers that will return a pointer
    to a valid tty structure based upon a dev_t
(c) make syscons structures the same size whether or not APM is enabled so
    utilities don't crash if NAPM changes (and make the damn kernel compile!)
(d) rewrite /dev/snp ioctl interface so that it is device driver and i386
    independant
1995-02-25 20:09:44 +00:00
ache
f5b2c37e27 Add releasing of input flow control into
ttyflush(FREAD)
1995-02-24 02:36:01 +00:00
ache
8f431ad70a Add two IXOFF checks to not confuse with CRTS_IFLOW.
Now TS_TBLOCK used as general input flow flag
for both IXOFF and CRTS_IFLOW cases.
1995-02-23 03:02:38 +00:00
ache
b501a5b627 Revive hadrware input flow control
Submitted by: iverson@lionheart.com
1995-02-22 23:20:51 +00:00
ache
b0853153fa Restore deleted in second time my & bde fixes.
UGEN STOP IT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1995-02-15 22:25:51 +00:00
ugen
62bf834d19 More changes to support user calls.
It's 22:00  here,utility still to come(hopefully tomorrow
morning..)
1995-02-15 18:41:57 +00:00
bde
e7c7b6a07c Remove duplicated code from ttymalloc(). Disable ttyfree().
Restore fixes to flushing that were lost in the previous commit.

Clean up snoop changes.

Add my TODO list from 1.1.5.  The improvements in 1.1.5 should be "obtained"
first.
1995-02-15 16:00:56 +00:00
ugen
67ef4e7cae Here it came-the all-brand-new snoop device..
Users-beware..
It is tested and working for me but probably have some bugs i
didn't noticed so test it and reply...
It can:
 look at what's sent to the user from tty device
 snoop on pty's,vty's and serial tty's
It (still) can't:
 write to tty
 see what user types in local echo mode
It is probably bad styled and
 very dependant on tty_pty.c,sio.c and syscons.c
I would be really happy if another ppl would make their
changes because i am not sure this is the best snoop
we can have..but it is good..:)))))
1995-02-14 21:21:26 +00:00
ache
f730560532 Purge queues in ttylclose(), if ttywflush() failed 1995-02-13 02:18:28 +00:00
ache
1afa2e8391 Replace previous fix with less agressive, just return EIO
if ttywait can't drain queue.
1995-02-13 02:03:57 +00:00
ache
1ebc44d8a6 1. If some output still present at the end of ttywait, kill it.
2. Even if ttywait() fails, call ttyflush(FREAD) in ttywflush.
This two fixes guarantee that queues are empty after calling ttywflush()
in any case
1995-02-12 23:01:13 +00:00
jkh
bf79ed40a3 >32 PTY support
Submitted by: Heikki Suonsivu <hsu@cs.hut.fi>
1995-02-09 11:13:30 +00:00
bde
f568e81eb8 Disable bogus attempt to switch from the TS_ISOPEN state to the
TS_WOPEN state when CLOCAL is toggled from on to off while there
is no carrier.  There is no way back, and with sio there is no way
forward either (TS_ISOPEN will never be set again for the current
open).  This bug was observed in 1.1 and was fixed in 1.1.5.
1995-02-08 22:02:02 +00:00
bde
6d392fd2e2 Increase the reserved clist space for the raw queue from 512 to TTYHOG.
This might help avoid tty buffer overflows on loaded systems.
1995-01-30 06:16:59 +00:00
bde
4d6f949376 Fix error handling for new TIOCSDRAINWAIT ioctl. 1995-01-06 14:56:42 +00:00
ache
7f9dfa2a43 Fight against hanging modems: add timeout to ttywait.
Reviewed by: Bruce
1995-01-05 00:01:07 +00:00
ache
653660fd3e Call d_stop in ttyflush not only for WRITE but for READ too
Obtained from: 1.1.5.1
1994-12-04 01:01:45 +00:00
bde
33d82aa474 Fix cblock starvation bugs by reserving enough cblocks for minimal
operation of each clist.  Limit the growth of each clist.  Clists
can only grow larger than the reserved minimum if there are free
cblocks in a shared pool.  The size of this pool is now fixed
(this could be improved).  The reserved and maximum sizes are more
carefully allocated for slip and ppp, depending on the mtu.  A maximum
MTU of 16384 is now enforced for ppp.
1994-11-26 19:24:13 +00:00
bde
c879ab57fd Don't block for output in non-blocking mode if clists run out.
Remove an unnecessary test (if the output queue is above high water
then it is nonempty).
1994-11-26 18:54:25 +00:00
bde
dcf7506baa Return immediately from ttwrite() if the ttysleep()s that wait for
a clist return with an error.  There are some clist starvation/deadlock
bugs elsewhere and killing clist hogs didn't help because the breaks
only exited from the inner loops.
1994-11-01 22:23:29 +00:00
dg
052101cf25 Round down instead of up in 'kerninfo'/ctrl-T stats code. Incorrect output
can result otherwise.

Submitted by:	John Dyson
1994-10-23 06:18:13 +00:00
ache
32696c9c2e ttywait: check conditions again right after oproc
Obtained from: (I know, but can't say :-)
1994-10-15 17:59:02 +00:00
phk
5f8e9e2c4d Cosmetics: added ()'s and fixed prinf-formats to make gcc silent. 1994-10-08 22:33:43 +00:00
dg
2add6128e2 Use tsleep() rather than sleep so that 'ps' is more informative about
the wait.
1994-10-06 21:07:04 +00:00
ache
58a698518c Add VMIN/VTIME support
Obtained from:  scratch :-)
1994-10-03 01:12:18 +00:00
phk
c3e4945541 All of this is cosmetic. prototypes, #includes, printfs and so on. Makes
GCC a lot more silent.
1994-10-02 17:35:40 +00:00
dg
bf2d1675b9 Added support for TIOCSTAT ioctl. This allows shells that use raw/cbreak
tty modes to process a control-T and do the right thing.
1994-08-18 09:16:37 +00:00
dg
8d205697aa Added $Id$ 1994-08-02 07:55:43 +00:00
dg
4470f3d596 Allow for output processing routine to handle entire character buffer
and thus not require a sleep/wakeup.
Reviewed by:
Submitted by:
1994-08-01 10:42:26 +00:00
dg
f9a6051213 Added code to allocate and deallocate a number of cblocks on open/close of
a tty.
Note that this might  conflict with the collateral use of TS_WOPEN, but
for the moment I can find no problems associated with this. (TS_WOPEN
will likely go away in the future anyway). This should be looked at
again in the future (the potential problem is that the cblock pool
may either run out or accumulate too many cblocks).
1994-07-06 06:42:34 +00:00
rgrimes
2469c867a1 The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by:	Rodney W. Grimes
Submitted by:	John Dyson and David Greenman
1994-05-25 09:21:21 +00:00
rgrimes
8fb65ce818 BSD 4.4 Lite Kernel Sources 1994-05-24 10:09:53 +00:00