The three are updated together as they are tightly coupled. Change-Id: I9e1f07b6adc6e8ae10833e6f1402f8472d2d34b8
		
			
				
	
	
		
			265 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			265 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\"	$NetBSD: curses_inch.3,v 1.12 2011/08/07 11:37:06 wiz Exp $
 | 
						|
.\"
 | 
						|
.\" Copyright (c) 2002
 | 
						|
.\"	Brett Lymn (blymn@NetBSD.org, brett_lymn@yahoo.com.au)
 | 
						|
.\"
 | 
						|
.\" This code is donated to the NetBSD Foundation by the Author.
 | 
						|
.\"
 | 
						|
.\" 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.
 | 
						|
.\" 3. The name of the Author may not be used to endorse or promote
 | 
						|
.\"    products derived from this software without specific prior written
 | 
						|
.\"    permission.
 | 
						|
.\"
 | 
						|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 August 7, 2011
 | 
						|
.Dt CURSES_INCH 3
 | 
						|
.Os
 | 
						|
.Sh NAME
 | 
						|
.Nm curses_inch ,
 | 
						|
.Nm inch ,
 | 
						|
.Nm winch ,
 | 
						|
.Nm inchnstr ,
 | 
						|
.Nm mvinchnstr ,
 | 
						|
.Nm winchnstr ,
 | 
						|
.Nm mvwinchnstr ,
 | 
						|
.Nm inchstr ,
 | 
						|
.Nm mvinchstr ,
 | 
						|
.Nm winchstr ,
 | 
						|
.Nm mvwinchstr ,
 | 
						|
.Nm innstr ,
 | 
						|
.Nm winnstr ,
 | 
						|
.Nm mvinnstr ,
 | 
						|
.Nm mvwinnstr ,
 | 
						|
.Nm instr ,
 | 
						|
.Nm winstr
 | 
						|
.Nm mvinstr ,
 | 
						|
.Nm mvwinstr
 | 
						|
.Nd curses read screen contents routines
 | 
						|
.Sh LIBRARY
 | 
						|
.Lb libcurses
 | 
						|
.Sh SYNOPSIS
 | 
						|
.In curses.h
 | 
						|
.Ft chtype
 | 
						|
.Fn inch "void"
 | 
						|
.Ft chtype
 | 
						|
.Fn winch "WINDOW *win"
 | 
						|
.Ft int
 | 
						|
.Fn inchnstr "chtype *chars" "int n"
 | 
						|
.Ft int
 | 
						|
.Fn mvinchnstr "int y" "int x" "chtype *chstr" "int n"
 | 
						|
.Ft int
 | 
						|
.Fn winchnstr "WINDOW *win" "chtype *chars" "int n"
 | 
						|
.Ft int
 | 
						|
.Fn mvwinchnstr "WINDOW *win" "int y" "int x" "chtype *chstr" "int n"
 | 
						|
.Ft int
 | 
						|
.Fn inchstr "chtype *chars"
 | 
						|
.Ft int
 | 
						|
.Fn mvinchstr "int y" "int x" "chtype *chstr"
 | 
						|
.Ft int
 | 
						|
.Fn winchstr "WINDOW *win" "chtype *chars"
 | 
						|
.Ft int
 | 
						|
.Ft mvwinchstr "WINDOW *win" "int y" "int x" "chtype *chstr"
 | 
						|
.Ft int
 | 
						|
.Fn innstr "char *str" "int n"
 | 
						|
.Ft int
 | 
						|
.Fn winnstr "WINDOW *win" "char *str" "int n"
 | 
						|
.Ft int
 | 
						|
.Fn mvinnstr "int y" "int x" "char *str" "int n"
 | 
						|
.Ft int
 | 
						|
.Fn mvwinnstr "WINDOW *win" "int y" "int x" "char *str" "int n"
 | 
						|
.Ft int
 | 
						|
.Fn instr "char *str"
 | 
						|
.Ft int
 | 
						|
.Fn winstr "WINDOW *win" "char *str"
 | 
						|
.Ft int
 | 
						|
.Fn mvinstr "int y" "int x" "char *str"
 | 
						|
.Ft int
 | 
						|
.Fn mvwinstr "WINDOW *win" "int y" "int x" "char *str"
 | 
						|
.Sh DESCRIPTION
 | 
						|
These functions read the contents of
 | 
						|
.Dv stdscr
 | 
						|
or of the specified window.
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn inch
 | 
						|
function returns the character that is displayed on
 | 
						|
.Dv stdscr
 | 
						|
at the current cursor position.
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn winch
 | 
						|
function is the same as the
 | 
						|
.Fn inch
 | 
						|
function, excepting that the character is read from window specified by
 | 
						|
.Fa win .
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn inchnstr
 | 
						|
function fills an array of
 | 
						|
.Ft chtype
 | 
						|
with characters read from
 | 
						|
.Dv stdscr ,
 | 
						|
the characters are read starting from the current cursor position and
 | 
						|
continuing until either n \- 1 characters are read or the right hand
 | 
						|
side of the screen is reached.
 | 
						|
The resulting character array will be
 | 
						|
.Dv NULL
 | 
						|
terminated.
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn winchnstr
 | 
						|
function is the same as
 | 
						|
.Fn inchnstr
 | 
						|
excepting that the characters are read from the window specified by
 | 
						|
.Fa win .
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn inchstr
 | 
						|
and
 | 
						|
.Fn winchstr
 | 
						|
functions are the same as the
 | 
						|
.Fn inchnstr
 | 
						|
and
 | 
						|
.Fn winchnstr
 | 
						|
functions, respectively, excepting that they do not limit the number
 | 
						|
of characters read.
 | 
						|
The characters returned are those from the current starting position to
 | 
						|
the right hand side of the screen.
 | 
						|
The use of
 | 
						|
.Fn inchstr
 | 
						|
and
 | 
						|
.Fn winchstr
 | 
						|
is not recommended as the character buffer can be overflowed.
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn innstr
 | 
						|
function
 | 
						|
is similar to the
 | 
						|
.Fn inchstr
 | 
						|
function, excepting that the array of characters returned is stripped of all
 | 
						|
the curses attributes making it a plain character string.
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn mvinchstr ,
 | 
						|
.Fn mvinchnstr ,
 | 
						|
.Fn mvwinchstr ,
 | 
						|
and
 | 
						|
.Fn mvwinchnstr
 | 
						|
functions are the same as the
 | 
						|
.Fn inchstr ,
 | 
						|
.Fn inchnstr ,
 | 
						|
.Fn winchstr ,
 | 
						|
and
 | 
						|
.Fn winchstr
 | 
						|
functions, respectively, except that
 | 
						|
.Fn wmove
 | 
						|
is called to move the cursor to the position specified by
 | 
						|
.Fa y ,
 | 
						|
.Fa x
 | 
						|
before the output is printed on the window.
 | 
						|
Likewise, the
 | 
						|
.Fn mvinstr ,
 | 
						|
.Fn mvinnstr ,
 | 
						|
.Fn mvwinstr ,
 | 
						|
and
 | 
						|
.Fn mvwinnstr
 | 
						|
functions are the same as the
 | 
						|
.Fn instr ,
 | 
						|
.Fn innstr ,
 | 
						|
.Fn winstr ,
 | 
						|
and
 | 
						|
.Fn winstr
 | 
						|
functions, respectively, except that
 | 
						|
.Fn wmove
 | 
						|
is called to move the cursor to the position specified by
 | 
						|
.Fa y ,
 | 
						|
.Fa x
 | 
						|
before the output is printed on the window.
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn winnstr
 | 
						|
function is the same as the
 | 
						|
.Fn innstr
 | 
						|
function, excepting that characters are read from the window specified by
 | 
						|
.Fa win .
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fn instr
 | 
						|
and
 | 
						|
.Fn winstr
 | 
						|
functions
 | 
						|
are the same as the
 | 
						|
.Fn innstr
 | 
						|
and
 | 
						|
.Fn winnstr
 | 
						|
functions, respectively, excepting that there are no limits placed on the
 | 
						|
size of the returned string, which may cause buffer overflows.
 | 
						|
For this reason, the use of
 | 
						|
.Fn instr
 | 
						|
and
 | 
						|
.Fn winstr
 | 
						|
is not recommended.
 | 
						|
.Sh RETURN VALUES
 | 
						|
If the calls
 | 
						|
.Fn innstr ,
 | 
						|
.Fn mvinnstr ,
 | 
						|
.Fn mvwinnstr ,
 | 
						|
and
 | 
						|
.Fn winnstr
 | 
						|
succeed then they will return the number of characters actually read.
 | 
						|
Functions returning pointers will return
 | 
						|
.Dv NULL
 | 
						|
if an error is detected.
 | 
						|
The functions that return an int will return one of the following
 | 
						|
values:
 | 
						|
.Pp
 | 
						|
.Bl -tag -width ERR -compact
 | 
						|
.It Er OK
 | 
						|
The function completed successfully.
 | 
						|
.It Er ERR
 | 
						|
An error occurred in the function.
 | 
						|
.El
 | 
						|
.Sh SEE ALSO
 | 
						|
.Xr curses_addch 3 ,
 | 
						|
.Xr curses_addstr 3 ,
 | 
						|
.Xr curses_attributes 3 ,
 | 
						|
.Xr curses_insertch 3
 | 
						|
.Sh STANDARDS
 | 
						|
The
 | 
						|
.Nx
 | 
						|
Curses library complies with the X/Open Curses specification, part
 | 
						|
of the Single Unix Specification.
 | 
						|
.Sh NOTES
 | 
						|
The
 | 
						|
.Fn inchnstr
 | 
						|
and
 | 
						|
.Fn innstr
 | 
						|
function read at most n \- 1 characters from the screen so as to leave
 | 
						|
room for
 | 
						|
.Dv NULL
 | 
						|
termination.
 | 
						|
The X/Open specification is unclear as to whether or not this is the correct
 | 
						|
behaviour.
 | 
						|
.Sh HISTORY
 | 
						|
The Curses package appeared in
 | 
						|
.Bx 4.0 .
 |