summaryrefslogtreecommitdiff
path: root/static/netbsd/man9/cons.9
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 15:32:58 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 15:32:58 -0400
commit5cb84ec742fd33f78c8022863fadaa8d0d93e176 (patch)
tree1a81ca3665e6153923e40db7b0d988f8573ab59c /static/netbsd/man9/cons.9
parenta59214f344567c037d5776879bcfc5fcc1d4d5f6 (diff)
feat: Added NetBSD man pages
Diffstat (limited to 'static/netbsd/man9/cons.9')
-rw-r--r--static/netbsd/man9/cons.9161
1 files changed, 161 insertions, 0 deletions
diff --git a/static/netbsd/man9/cons.9 b/static/netbsd/man9/cons.9
new file mode 100644
index 00000000..42db38b2
--- /dev/null
+++ b/static/netbsd/man9/cons.9
@@ -0,0 +1,161 @@
+.\" $NetBSD: cons.9,v 1.19 2017/07/03 21:28:48 wiz Exp $
+.\"
+.\" Copyright (c) 2001 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd June 8, 2010
+.Dt CONS 9
+.Os
+.Sh NAME
+.Nm cnbell ,
+.Nm cnflush ,
+.Nm cngetc ,
+.Nm cngetsn ,
+.Nm cnhalt ,
+.Nm cnpollc ,
+.Nm cnputc
+.Nd console access interface
+.Sh SYNOPSIS
+.In dev/cons.h
+.Ft void
+.Fn cnbell "u_int pitch" "u_int period" "u_int volume"
+.Ft void
+.Fn cnflush "void"
+.Ft int
+.Fn cngetc "void"
+.Ft int
+.Fn cngetsn "char *cp" "int size"
+.Ft void
+.Fn cnhalt "void"
+.Ft void
+.Fn cnpollc "int on"
+.Ft void
+.Fn cnputc "int c"
+.Sh DESCRIPTION
+These functions operate over the current console device.
+The console must be initialized before these functions can be used.
+.Pp
+Console input polling functions
+.Fn cngetc ,
+.Fn cngetsn
+and
+.Fn cnpollc
+are only to be used during initial system
+boot, e.g., when asking for root and dump device or to get
+necessary user input within mountroothooks.
+Once the system boots, user input is read via standard
+.Xr tty 4
+facilities.
+.Pp
+The following is a brief description of each function:
+.Bl -tag -width "cngetsn()"
+.It Fn cnbell
+Ring a bell at appropriate
+.Fa pitch ,
+for duration of
+.Fa period
+milliseconds at given
+.Fa volume .
+Note that the
+.Fa volume
+value is ignored commonly.
+.It Fn cnflush
+Waits for all pending output to finish.
+.It Fn cngetc
+Poll (busy wait) for an input and return the input key.
+Returns 0 if there is no console input device.
+.Fn cnpollc
+.Em must
+be called before
+.Fn cngetc
+could be used.
+.Fn cngetc
+should be used during kernel startup only.
+.It Fn cngetsn
+Read one line of user input, stop reading once the newline
+key is input.
+Input is echoed back.
+This uses
+.Fn cnpollc
+and
+.Fn cngetc .
+Number of read characters is
+.Fa size
+at maximum, user is notified by console bell when the end
+of input buffer is reached.
+<Backspace> key works as expected.
+<@> or <CTRL>-u make
+.Fn cngetsn
+discard input read so far, print newline and
+wait for next input.
+.Fn cngetsn
+returns number of characters actually read, excluding
+the final newline.
+.Fa cp
+is
+.Em not
+zero-ended before return.
+.Fn cngetsn
+should be used during kernel startup only.
+.It Fn cnhalt
+Terminates the console device (i.e. cleanly shuts down the console hardware.)
+.It Fn cnpollc
+Switch the console driver to polling mode if
+.Fa on
+is nonzero, or back to interrupt driven mode if
+.Fa on
+is zero.
+.Fn cnpollc
+should be used during kernel startup only.
+.It Fn cnputc
+Console kernel output character routine.
+Commonly, kernel code uses
+.Xr printf 9
+rather than using this low-level interface.
+.El
+.Sh EXAMPLES
+This waits until a <Enter> key is pressed:
+.Pp
+.Bd -literal -offset indent
+int c;
+
+cnpollc(1);
+for(;;) {
+ c = cngetc();
+ if ((c == '\er' || (c == '\en')) {
+ printf("\en");
+ break;
+ }
+}
+cnpollc(0);
+.Ed
+.Sh SEE ALSO
+.Xr pckbd 4 ,
+.Xr pcppi 4 ,
+.Xr tty 4 ,
+.Xr wscons 4 ,
+.Xr wskbd 4 ,
+.Xr printf 9 ,
+.Xr spl 9 ,
+.Xr wscons 9