diff --git a/man/curs_getcchar.3x b/man/curs_getcchar.3x
new file mode 100644
index 0000000..cb02f5d
--- /dev/null
+++ b/man/curs_getcchar.3x
@@ -0,0 +1,149 @@
+.\"***************************************************************************
+.\" Copyright (c) 2001-2006,2008 Free Software Foundation, Inc.              *
+.\"                                                                          *
+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
+.\" copy of this software and associated documentation files (the            *
+.\" "Software"), to deal in the Software without restriction, including      *
+.\" without limitation the rights to use, copy, modify, merge, publish,      *
+.\" distribute, distribute with modifications, sublicense, and/or sell       *
+.\" copies of the Software, and to permit persons to whom the Software is    *
+.\" furnished to do so, subject to the following conditions:                 *
+.\"                                                                          *
+.\" The above copyright notice and this permission notice shall be included  *
+.\" in all copies or substantial portions of the Software.                   *
+.\"                                                                          *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+.\"                                                                          *
+.\" Except as contained in this notice, the name(s) of the above copyright   *
+.\" holders shall not be used in advertising or otherwise to promote the     *
+.\" sale, use or other dealings in this Software without prior written       *
+.\" authorization.                                                           *
+.\"***************************************************************************
+.\"
+.\" $Id: curs_getcchar.3x,v 1.11 2008/05/17 19:37:05 tom Exp $
+.TH curs_getcchar 3X ""
+.SH NAME
+\fBgetcchar\fP,
+\fBsetcchar\fP \- Get a wide character string and rendition from a \fBcchar_t\fP or set a \fBcchar_t\fP from a wide-character string
+.SH SYNOPSIS
+\fB#include <curses.h>\fP
+.sp
+\fBint getcchar(\fP
+.br
+.B "        const cchar_t *\fIwcval\fP,"
+.br
+.B "        wchar_t *\fIwch\fP,"
+.br
+.B "        attr_t *\fIattrs\fP,"
+.br
+.B "        short *\fIcolor_pair\fP,"
+.br
+.B "        void *\fIopts\fP );"
+.sp
+.B "int setcchar("
+.br
+.B "        cchar_t *\fIwcval\fP,"
+.br
+.B "        const wchar_t *\fIwch\fP,"
+.br
+.B "        const attr_t \fIattrs\fP,"
+.br
+.B "        short \fIcolor_pair\fP,"
+.br
+.B "        void *\fIopts\fP );"
+.SH DESCRIPTION
+.PP
+The \fBgetcchar\fP function gets a wide-character string
+and rendition from a \fBcchar_t\fP argument.
+When \fIwch\fP is not a null pointer,
+the \fBgetcchar\fP function does the following:
+.TP 5
+-
+Extracts information from a \fBcchar_t\fP value \fIwcval\fP
+.TP 5
+-
+Stores the character attributes in the location pointed to by \fIattrs\fP
+.TP 5
+-
+Stores the color-pair in the location pointed to by \fIcolor_pair\fP
+.TP 5
+-
+Stores the wide-character string,
+characters referenced by \fIwcval\fP, into the array pointed to by \fIwch\fP.
+.PP
+When
+\fIwch\fP
+is a null pointer, the
+\fBgetcchar\fP
+function does the following:
+.TP 5
+-
+Obtains the number of wide characters pointed to by \fIwcval\fP
+.TP 5
+-
+Does not change the data referenced by
+\fIattrs\fP
+or
+\fIcolor_pair\fP
+.PP
+The \fBsetcchar\fP function initializes the location pointed to by \fIwcval\fP
+by using:
+.TP 5
+-
+The character attributes in
+\fIattrs\fP
+.TP 5
+-
+The color pair in
+\fIcolor_pair\fP
+.TP 5
+-
+The wide-character string pointed to by \fIwch\fP.
+The string must be L'\\0' terminated,
+contain at most one spacing character,
+which must be the first.
+.IP
+Up to \fBCCHARW_MAX\fP-1 nonspacing characters may follow.
+Additional nonspacing characters are ignored.
+.IP
+The string may contain a single control character instead.
+In that case, no nonspacing characters are allowed.
+.SH NOTES
+.PP
+The \fIopts\fP argument is reserved for future use.
+Currently, an application must provide a null pointer as \fIopts\fP.
+.PP
+The \fIwcval\fP argument may be a value generated by a call to
+\fBsetcchar\fP or by a function that has a \fBcchar_t\fP output argument.
+If \fIwcval\fP is constructed by any other means, the effect is unspecified.
+.SH RETURN VALUES
+.PP
+When \fIwch\fP is a null pointer,
+\fBgetcchar\fP returns the number of wide characters referenced by
+\fIwcval\fP.
+.PP
+When \fIwch\fP is not a null pointer,
+\fBgetcchar\fP returns \fBOK\fP upon successful completion,
+and \fBERR\fP otherwise.
+.PP
+Upon successful completion, \fBsetcchar\fP returns \fBOK\fP.
+Otherwise, it returns \fBERR\fP.
+.SH SEE ALSO
+.PP
+Functions:
+\fBcurs_attr\fR(3X),
+\fBcurs_color\fR(3X),
+\fBcurses\fR(3X),
+\fBwcwidth\fR(3).
+.\"#
+.\"# The following sets edit modes for GNU EMACS
+.\"# Local Variables:
+.\"# mode:nroff
+.\"# fill-column:79
+.\"# End:
