History log of /freebsd-current/sys/ddb/db_input.c
Revision Date Author Comments
# fdafd315 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

sys: Automated cleanup of cdefs and other formatting

Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.

Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/

Sponsored by: Netflix


# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# fb1b78bf 07-Feb-2023 Mateusz Guzik <mjg@FreeBSD.org>

ddb: ansify

Reported by: clang 15
Sponsored by: Rubicon Communications, LLC ("Netgate")


# 3e5e9939 14-Mar-2021 Ryan Libby <rlibby@FreeBSD.org>

ddb: enable the use of ^C and ^S/^Q

This lets one interrupt DDB's output, which is useful if paging is
disabled and the output device is slow.

This follows a previous implementation in svn r311952 / git
5fddef79998678d256ba30316353393b4d8ebb32 which was reverted because it
broke DDB type-ahead.

Now, try this again, but with a 512-byte type-ahead buffer. While there
is buffer space, control input is handled and non-control input is
buffered. When the buffer is exhausted, the default is to print a
warning and drop further non-control input in order to continue handling
control input. sysctl debug.ddb.prioritize_control_input can be set to
0 to instead preserve all input but lose immediate handling of control
input. This could for example effect pasting of a large script into the
ddb console.

Suggested by: Anton Rang <rang@acm.org>
Reviewed by: markj
Discussed with: imp
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D28676


# 796df753 30-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

SPDX: Consider code from Carnegie-Mellon University.

Interesting cases, most likely from CMU Mach sources.


# 81e12dd1 06-Jul-2017 Edward Tomasz Napierala <trasz@FreeBSD.org>

Make ^c work in ddb(4).

Obtained from: CheriBSD
MFC after: 2 weeks
Sponsored by: DARPA, AFRL


# eeb6101e 06-Jul-2017 Edward Tomasz Napierala <trasz@FreeBSD.org>

Make ^w work in ddb(4).

Obtained from: CheriBSD
MFC after: 2 weeks
Sponsored by: DARPA, AFRL


# c2718b42 14-Jan-2017 Mark Johnston <markj@FreeBSD.org>

Revert r311952.

It broke DDB type-ahead since it caused db_check_interrupt() to drop
unrecognized characters.

Reported by: bde


# 5fddef79 11-Jan-2017 Mark Johnston <markj@FreeBSD.org>

Enable the use of ^C and ^S/^Q in DDB.

This lets one interrupt DDB's output, which is useful if paging is
disabled and the output device is slow.

Submitted by: Anton Rang <rang@acm.org>
Reviewed by: jhb
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D9138


# 0a95ab74 23-May-2015 Pedro F. Giffuni <pfg@FreeBSD.org>

ddb: de-register


# 2b490bc7 18-May-2015 Pedro F. Giffuni <pfg@FreeBSD.org>

ddb: stop boolean screaming.

TRUE --> true
FALSE--> false

Hinted by: NetBSD


# a41dd031 12-Oct-2014 Pedro F. Giffuni <pfg@FreeBSD.org>

ddb: ANSI-fy function declarations.

MFC after: 5 days


# dc15eac0 01-Jan-2012 Ed Schouten <ed@FreeBSD.org>

Use strchr() and strrchr().

It seems strchr() and strrchr() are used more often than index() and
rindex(). Therefore, simply migrate all kernel code to use it.

For the XFS code, remove an empty line to make the code identical to
the code in the Linux kernel.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 233f8184 07-Mar-2008 Robert Watson <rwatson@FreeBSD.org>

Reserve two bytes at the end of the DDB input line in db_readline() to
hold the newline and nul terminator. Otherwise, there are cases where
garbage may end up in the command history due to a lack of a nul
terminator, or input may end up without room for a newline.

MFC after: 3 days
PR: 119079
Submitted by: Michael Plass <mfp49_freebsd@plass-family.net>


# ea1c6a39 06-Mar-2008 Robert Watson <rwatson@FreeBSD.org>

When redrawing an input line, count backspaces to get to the beginning of
the input field from the current cursor location, rather than the end of
the input line, as the cursor may not be at the end of the line.
Otherwise, we may overshoot, overwriting a bit of the previous line and
failing to fully overwrite the current line.

MFC after: 3 days
PR: 119079
Submitted by: Michael Plass <mfp49_freebsd@plass-family.net>


# 086fec57 25-Dec-2007 Robert Watson <rwatson@FreeBSD.org>

Add a new DDB(4) facility, output capture. Input and output from DDB may be
captured to a memory buffer for later inspection using sysctl(8), or in the
future, to a textdump.

A new DDB command, "capture", is added, which accepts arguments "on", "off",
"reset", and "status".

A new DDB sysctl tree, debug.ddb.capture, is added, which can be used to
resize the capture buffer and extract buffer contents.

MFC after: 3 months


# dd3cb568 05-Jan-2005 Warner Losh <imp@FreeBSD.org>

Start each of the license/copyright comments with /*-


# 753960f7 10-Jun-2003 David E. O'Brien <obrien@FreeBSD.org>

Use __FBSDID().


# 9a4b535c 31-May-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Add /* FALLTHROUGH */

Found by: FlexeLint


# 8543efae 03-Apr-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

The kernel bcopy() is safe for overlapping regions (and always has), so
there is no use for a separate ovbcopy().


# 37c84183 28-Sep-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Be consistent about "static" functions: if the function is marked
static in its prototype, mark it static at the definition too.

Inspired by: FlexeLint warning #512


# 14e10f99 19-Mar-2002 Alfred Perlstein <alfred@FreeBSD.org>

Remove __P.


# 09ffa9ad 12-Feb-2002 Yaroslav Tykhiy <ytykhiy@gmail.com>

^U kills an entire input line in most applications,
including the default terminal canonical mode.
So let ddb(4) be no exception from this rule.

Pointed out by: Mark Peek <mark@peek.org>


# 732681a7 11-Feb-2002 Yaroslav Tykhiy <ytykhiy@gmail.com>

Teach ddb(4) to delete to the beginning of its command line on ^U.

PR: kern/28976
Submitted by: Nickolai Zeldovich <kolya@orbit.zepa.net>


# 35e61cbd 11-Jan-2000 Kazutaka YOKOTA <yokota@FreeBSD.org>

Add a new mechanism, cndbctl(), to tell the console driver that
ddb is entered. Don't refer to `in_Debugger' to see if we
are in the debugger. (The variable used to be static in Debugger()
and wasn't updated if ddb is entered via traps and panic anyway.)

- Don't refer to `in_Debugger'.
- Add `db_active' to i386/i386/db_interface.d (as in
alpha/alpha/db_interface.c).
- Remove cnpollc() stub from ddb/db_input.c.
- Add the dbctl function to syscons, pcvt, and sio. (The function for
pcvt and sio is noop at the moment.)

Jointly developed by: bde and me

(The final version was tweaked by me and not reviewed by bde. Thus,
if there is any error in this commit, that is entirely of mine, not
his.)

Some changes were obtained from: NetBSD


# 9ac362dd 02-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Remove unused macro definition.


# c3aac50f 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# ce9edcf5 09-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Merge the cons.c and cons.h to the best of my ability. alpha may or
may not compile, I can't test it.


# de22efc9 14-Jul-1999 Kazutaka YOKOTA <yokota@FreeBSD.org>

The following patch will remove a hack introduced in
/sys/ddb/db_input.c rev 1.19 to recognize syscons's cursor keycodes.
It is unnecessary now that scgetc() in syscons returns the escape
sequence for the cursor keys rather than their raw, internal key
codes.


# d4060a87 04-Dec-1997 John Dyson <dyson@FreeBSD.org>

Some fixes from John Hood:
1) Fix the initialization of malloc structure that changed
due to perf opt.
2) Remove unneeded include.
3) An initialization assert added to malloc.
Submitted by: John Hood <cgull@smoke.marlboro.vt.us>


# 41630a01 20-Nov-1997 Bruce Evans <bde@FreeBSD.org>

Cleaned up revs.1.19-1.21:


# d984ae1e 08-Nov-1997 Mike Smith <msmith@FreeBSD.org>

A better fix for the ddb command history buffer problem; use a static
buffer instead of trying to use malloc() in the input routine.
Submitted by: john hood <cgull@smoke.marlboro.vt.us>


# e7c818b5 06-Nov-1997 Mike Smith <msmith@FreeBSD.org>

Don't try to do anything with the input history if MALLOC() for the buffer
failed.

This broke early debugging.


# ce8a0154 17-Aug-1997 Joerg Wunsch <joerg@FreeBSD.org>

Minor hack to also allow for syscons's "interesting" arrow keys.

I'm using "#if __i386__ && __FreeBSD__" to check for a ``potentially
syscons-relevant environment''. Hope that's ok...


# eae6ab5e 12-Apr-1997 Joerg Wunsch <joerg@FreeBSD.org>

Everyone's favorite, i think: make DDB understand the arrow keys for the
basic cursor movements. Assumes ANSI/DEC tty, but you can still resort
to plain emacs ^p/^n etc anyway.


# 6875d254 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 75680b05 30-Oct-1996 Julian Elischer <julian@FreeBSD.org>

if there is no console, cngetc should act like getc and return -1

make callers aware of this in those cases where it can occur.


# b4630773 10-Aug-1996 Joerg Wunsch <joerg@FreeBSD.org>

Finally implement a simple commandline history in DDB.

Emacs-style line editing has already been there (did anybody ever
notice this? :), so i `only' had to add ^P and ^N. The approach is
fairly minimalistic, with the advantage of keeping the bloat as small
as 864 bytes of .text and 16 bytes of .bss, plus 10*120 bytes
malloc'ed history buffer at the first use.


# 6ddbf1e2 07-May-1996 Gary Palmer <gpalmer@FreeBSD.org>

Clean up various compiler warnings. Most (if not all) were benign

Reviewed by: bde


# 5ccbc3cc 10-Dec-1995 Bruce Evans <bde@FreeBSD.org>

Reduced and cleaned up #includes.


# 25eb640d 10-Dec-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Staticize and cleanup.


# efeaf95a 06-Dec-1995 David Greenman <dg@FreeBSD.org>

Untangled the vm.h include file spaghetti.


# f73a856d 29-Nov-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Staticized and '#ifdef notused' stuff we don't use.


# 058284fc 24-Nov-1995 Bruce Evans <bde@FreeBSD.org>

Completed function declarations and/or added prototypes and/or #includes
to get the prototypes.

Changed some `int's to `boolean_t's. boolean_t's are ints so they are
hard to distinguish from ints.

Converted function headers to old-style. ddb is written in K&R1 C
except where we broke it.


# 9b2e5354 30-May-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove trailing whitespace.


# f23b4c91 18-Aug-1994 Garrett Wollman <wollman@FreeBSD.org>

Fix up some sloppy coding practices:

- Delete redundant declarations.
- Add -Wredundant-declarations to Makefile.i386 so they don't come back.
- Delete sloppy COMMON-style declarations of uninitialized data in
header files.
- Add a few prototypes.
- Clean up warnings resulting from the above.

NB: ioconf.c will still generate a redundant-declaration warning, which
is unavoidable unless somebody volunteers to make `config' smarter.


# f540b106 12-Aug-1994 Garrett Wollman <wollman@FreeBSD.org>

Change all #includes to follow the current Berkeley style. Some of these
``changes'' are actually not changes at all, but CVS sometimes has trouble
telling the difference.

This also includes support for second-directory compiles. This is not
quite complete yet, as `config' doesn't yet do the right thing. You can
still make it work trivially, however, by doing the following:

rm /sys/compile
mkdir /usr/obj/sys/compile
ln -s M-. /sys/compile
cd /sys/i386/conf
config MYKERNEL
cd ../../compile/MYKERNEL
ln -s /sys @
rm machine
ln -s @/i386/include machine
make depend
make


# aaf08d94 18-Dec-1993 Garrett Wollman <wollman@FreeBSD.org>

Make everything compile with -Wtraditional. Make it easier to distribute
a binary link-kit. Make all non-optional options (pagers, procfs) standard,
and update LINT to reflect new symtab requirements.

NB: -Wtraditional will henceforth be forgotten. This editing pass was
primarily intended to detect any constructions where the old code might
have been relying on traditional C semantics or syntax. These were all
fixed, and the result of fixing some of them means that -Wall is now a
realistic possibility within a few weeks.


# 381fe1aa 24-Nov-1993 Garrett Wollman <wollman@FreeBSD.org>

Make the LINT kernel compile with -W -Wreturn-type -Wcomment -Werror, and
add same (sans -Werror) to Makefile for future compilations.


# 0edf66ec 16-Oct-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup. Added $Id$ to files that did not have any version info, etc


# 5b81b6b3 12-Jun-1993 Rodney W. Grimes <rgrimes@FreeBSD.org>

Initial import, 0.1 + pk 0.2.4-B1