]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_attr.3x.html
ncurses 6.2 - patch 20210619
[ncurses.git] / doc / html / man / curs_attr.3x.html
index 1692a9f08f4f6cfcbfc35aaa8f9d6a51d9ec6154..fbd5aa32b87a1badce08b24257a1317f22165040 100644 (file)
@@ -1,8 +1,8 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc.              *
+  * Copyright 2018-2019,2020 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 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            *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_attr.3x,v 1.32 2009/09/19 20:12:30 tom Exp @
+  * @Id: curs_attr.3x,v 1.66 2020/02/02 23:34:34 tom Exp @
+  * ---------------------------------------------------------------------------
+  * attr_get
+  * .br
+  * .br
+  * .br
+  * .br
+  * .br
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
+  * ---------------------------------------------------------------------------
 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
-<TITLE>curs_attr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_attr 3X</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </HEAD>
 <BODY>
-<H1>curs_attr 3x</H1>
-<HR>
+<H1 class="no-header">curs_attr 3X</H1>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>                                             <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+<B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>                                                    <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
 
 
 
 
-</PRE>
-<H2>NAME</H2><PRE>
-       <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>,
-       <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>, <STRONG>standout</STRONG>,
-       <STRONG>wstandout</STRONG>, <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>,
-       <STRONG>attr_on</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>chgat</STRONG>, <STRONG>wchgat</STRONG>,
-       <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> character and
-       window attribute control routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <B>attr_get</B>, <B>wattr_get</B>, <B>attr_set</B>, <B>wattr_set</B>, <B>attr_off</B>, <B>wattr_off</B>, <B>attr_on</B>,
+       <B>wattr_on</B>, <B>attroff</B>, <B>wattroff</B>, <B>attron</B>, <B>wattron</B>, <B>attrset</B>, <B>wattrset</B>, <B>chgat</B>,
+       <B>wchgat</B>, <B>mvchgat</B>, <B>mvwchgat</B>, <B>color_set</B>, <B>wcolor_set</B>, <B>standend</B>, <B>wstandend</B>,
+       <B>standout</B>, <B>wstandout</B> - <B>curses</B> character and window attribute control
+       routines
 
 
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
-       <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <STRONG>color_pair_number,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>short</STRONG> <STRONG>color_pair_number,</STRONG>
-             <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>standend(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>standout(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG>
-              <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG>  <STRONG>void</STRONG>
-       <STRONG>*opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG>
-             <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
-       <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
-             <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
-             <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG>
-             <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <B>#include</B> <B>&lt;curses.h&gt;</B>
 
+       <B>int</B> <B>attr_get(attr_t</B> <B>*</B><I>attrs</I><B>,</B> <B>short</B> <B>*</B><I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>wattr_get(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>attr_t</B> <B>*</B><I>attrs</I><B>,</B> <B>short</B> <B>*</B><I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>attr_set(attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>wattr_set(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
 
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-       These  routines  manipulate  the current attributes of the
-       named window.  The current attributes of a window apply to
-       all characters that are written into the window with <STRONG>wadd-</STRONG>
-       <STRONG>ch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>.  Attributes are a property of the
-       character,   and  move  with  the  character  through  any
-       scrolling and insert/delete line/character operations.  To
-       the  extent  possible,  they  are displayed as appropriate
-       modifications to the graphic rendition of  characters  put
-       on the screen.
-
-       The  routine  <STRONG>attrset</STRONG>  sets  the current attributes of the
-       given window to <EM>attrs</EM>.  The routine <STRONG>attroff</STRONG> turns off  the
-       named  attributes  without turning any other attributes on
-       or off.  The routine <STRONG>attron</STRONG> turns on the named  attributes
-       without affecting any others.  The routine <STRONG>standout</STRONG> is the
-       same as <STRONG>attron(A_STANDOUT)</STRONG>.  The routine <STRONG>standend</STRONG>  is  the
-       same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it turns
-       off all attributes.
-
-       The <STRONG>attrset</STRONG> and related routines do  not  affect  the  at-
-       tributes  used  when  erasing portions of the window.  See
-       <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which  modify  the  attributes
-       used for erasing and clearing.
-
-       The  routine <STRONG>color_set</STRONG> sets the current color of the given
-       window to the foreground/background combination  described
-       by  the  color_pair_number. The parameter opts is reserved
-       for future use, applications must supply a null pointer.
-
-       The routine <STRONG>wattr_get</STRONG> returns the  current  attribute  and
-       color pair for the given window; <STRONG>attr_get</STRONG> returns the cur-
-       rent attribute and color pair for <STRONG>stdscr</STRONG>.   The  remaining
-       <STRONG>attr_</STRONG>*  functions  operate  exactly like the corresponding
-       <STRONG>attr</STRONG>* functions, except that they take arguments  of  type
-       <STRONG>attr_t</STRONG> rather than <STRONG>int</STRONG>.
-
-       The routine <STRONG>chgat</STRONG> changes the attributes of a given number
-       of characters starting at the current cursor  location  of
-       <STRONG>stdscr</STRONG>.   It  does not update the cursor and does not per-
-       form wrapping.  A character count of -1  or  greater  than
-       the  remaining window width means to change attributes all
-       the way to the end of the current line.  The <STRONG>wchgat</STRONG>  func-
-       tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function
-       does a cursor move before acting.  In these functions, the
-       color  argument is a color-pair index (as in the first ar-
-       gument of <EM>init</EM><STRONG>_</STRONG><EM>pair</EM>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).  The <STRONG>opts</STRONG>  argu-
-       ment is not presently used, but is reserved for the future
-       (leave it <STRONG>NULL</STRONG>).
-
-   <STRONG>Attributes</STRONG>
-       The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can
-       be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
-       OR'd with the characters passed to <STRONG>addch</STRONG>.
-
-        <STRONG>A_NORMAL</STRONG>        Normal display (no highlight)
-        <STRONG>A_STANDOUT</STRONG>      Best highlighting mode of the terminal.
-        <STRONG>A_UNDERLINE</STRONG>     Underlining
-        <STRONG>A_REVERSE</STRONG>       Reverse video
-        <STRONG>A_BLINK</STRONG>         Blinking
-        <STRONG>A_DIM</STRONG>           Half bright
-        <STRONG>A_BOLD</STRONG>          Extra bright or bold
-        <STRONG>A_PROTECT</STRONG>       Protected mode
-        <STRONG>A_INVIS</STRONG>         Invisible or blank mode
-        <STRONG>A_ALTCHARSET</STRONG>    Alternate character set
-        <STRONG>A_CHARTEXT</STRONG>      Bit-mask to extract a character
-        <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG>   Color-pair number <EM>n</EM>
-
-       The following macro is the reverse of <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG>:
-
-       <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) Returns the pair number associated
-                          with the <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> attribute.
-
-       The return values of many of these routines are not  mean-
-       ingful (they are implemented as macro-expanded assignments
-       and simply return their argument).  The SVr4  manual  page
-       claims (falsely) that these routines always return <STRONG>1</STRONG>.
+       <B>int</B> <B>attr_off(attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>wattr_off(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>attr_on(attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>wattr_on(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
 
+       <B>int</B> <B>attroff(int</B> <I>attrs);</I>
+       <B>int</B> <B>wattroff(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>attrs</I><B>);</B>
+       <B>int</B> <B>attron(int</B> <I>attrs</I><B>);</B>
+       <B>int</B> <B>wattron(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>attrs</I><B>);</B>
+       <B>int</B> <B>attrset(int</B> <I>attrs</I><B>);</B>
+       <B>int</B> <B>wattrset(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>attrs</I><B>);</B>
 
-</PRE>
-<H2>NOTES</H2><PRE>
-       Note  that  <STRONG>attroff</STRONG>,  <STRONG>wattroff</STRONG>,  <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>,
-       <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG> and <STRONG>standout</STRONG> may be macros.
-
-       <STRONG>COLOR_PAIR</STRONG> values can only be OR'd with attributes if  the
-       pair  number  is  less  than 256.  The alternate functions
-       such as <STRONG>color_set</STRONG> can pass a color  pair  value  directly.
-       However,  ncurses  ABI 4 and 5 simply OR this value within
-       the alternate functions.  You must use ncurses  ABI  6  to
+       <B>int</B> <B>chgat(int</B> <I>n</I><B>,</B> <B>attr_t</B> <I>attr</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>wchgat(WINDOW</B> <B>*</B><I>win</I><B>,</B>
+             <B>int</B> <I>n</I><B>,</B> <B>attr_t</B> <I>attr</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>mvchgat(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B>
+             <B>int</B> <I>n</I><B>,</B> <B>attr_t</B> <I>attr</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+       <B>int</B> <B>mvwchgat(WINDOW</B> <B>*</B><I>win,</I> <I>int</I> <I>y,</I> <I>int</I> <I>x</I><B>,</B>
+             <B>int</B> <I>n,</I> <B>attr_t</B> <I>attr</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+
+       <B>int</B> <B>color_set(short</B> <I>pair</I><B>,</B> <B>void*</B> <I>opts</I><B>);</B>
+       <B>int</B> <B>wcolor_set(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void*</B> <I>opts);</I>
+
+       <B>int</B> <B>standend(void);</B>
+       <B>int</B> <B>wstandend(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+       <B>int</B> <B>standout(void);</B>
+       <B>int</B> <B>wstandout(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  routines  manipulate the current attributes of the named window,
+       which then apply to all characters that are  written  into  the  window
+       with  <B>waddch</B>,  <B>waddstr</B>  and  <B>wprintw</B>.  Attributes are a property of the
+       character, and move with the character through any  scrolling  and  in-
+       sert/delete  line/character  operations.   To the extent possible, they
+       are displayed as appropriate modifications to the graphic rendition  of
+       characters put on the screen.
+
+       These  routines do not affect the attributes used when erasing portions
+       of the window.  See <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B> for functions which  modify  the  at-
+       tributes used for erasing and clearing.
+
+       Routines  which  do  not have a <B>WINDOW*</B> parameter apply to <B>stdscr</B>.  For
+       example, <B>attr_set</B> is the <B>stdscr</B> variant of <B>wattr_set</B>.
+
+
+</PRE><H3><a name="h3-Window-attributes">Window attributes</a></H3><PRE>
+       There are two sets of functions:
+
+       <B>o</B>   functions for manipulating the window attributes  and  color:  <B>wat-</B>
+           <B>tr_set</B> and <B>wattr_get</B>.
+
+       <B>o</B>   functions  for manipulating only the window attributes (not color):
+           <B>wattr_on</B> and <B>wattr_off</B>.
+
+       The <B>wattr_set</B> function sets the current attributes of the given  window
+       to <I>attrs</I>, with color specified by <I>pair</I>.
+
+       Use <B>wattr_get</B> to retrieve attributes for the given window.
+
+       Use  <B>attr_on</B>  and  <B>wattr_on</B>  to turn on window attributes, i.e., values
+       OR'd together in <I>attr</I>, without affecting  other  attributes.   Use  <B>at-</B>
+       <B>tr_off</B>  and  <B>wattr_off</B> to turn off window attributes, again values OR'd
+       together in <I>attr</I>, without affecting other attributes.
+
+
+</PRE><H3><a name="h3-Legacy-window-attributes">Legacy window attributes</a></H3><PRE>
+       The X/Open window attribute routines which <I>set</I> or <I>get</I>, turn <I>on</I>  or  <I>off</I>
+       are extensions of older routines which assume that color pairs are OR'd
+       into the attribute parameter.  These newer routines use similar  names,
+       because X/Open simply added an underscore (<B>_</B>) for the newer names.
+
+       The <B>int</B> datatype used in the legacy routines is treated as if it is the
+       same size as <B>chtype</B> (used by <B><A HREF="curs_addch.3X.html">addch(3X)</A></B>).  It holds the common video at-
+       tributes  (such  as  bold,  reverse),  as well as a few bits for color.
+       Those bits correspond to the <B>A_COLOR</B> symbol.  The <B>COLOR_PAIR</B> macro pro-
+       vides  a value which can be OR'd into the attribute parameter.  For ex-
+       ample, as long as that value fits into the  <B>A_COLOR</B>  mask,  then  these
+       calls produce similar results:
+
+           attrset(A_BOLD | COLOR_PAIR(<I>pair</I>));
+           attr_set(A_BOLD, <I>pair</I>, NULL);
+
+       However, if the value does not fit, then the <B>COLOR_PAIR</B> macro uses only
+       the bits that fit.  For example, because in ncurses <B>A_COLOR</B>  has  eight
+       (8) bits, then <B>COLOR_PAIR(</B><I>259</I><B>)</B> is 4 (i.e., 259 is 4 more than the limit
+       255).
+
+       The <B>PAIR_NUMBER</B> macro extracts a pair number from an <B>int</B>  (or  <B>chtype</B>).
+       For  example,  the <I>input</I> and <I>output</I> values in these statements would be
+       the same:
+
+           int value = A_BOLD | COLOR_PAIR(<I>input</I>);
+           int <I>output</I> = PAIR_NUMBER(value);
+
+       The <B>attrset</B> routine is a legacy feature predating SVr4 curses but  kept
+       in X/Open Curses for the same reason that SVr4 curses kept it: compati-
+       bility.
+
+       The remaining <B>attr</B>* functions operate exactly  like  the  corresponding
+       <B>attr_</B>*  functions,  except  that they take arguments of type <B>int</B> rather
+       than <B>attr_t</B>.
+
+       There is no corresponding <B>attrget</B> function as such  in  X/Open  Curses,
+       although ncurses provides <B>getattrs</B> (see <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>).
+
+
+</PRE><H3><a name="h3-Change-character-rendition">Change character rendition</a></H3><PRE>
+       The  routine  <B>chgat</B> changes the attributes of a given number of charac-
+       ters starting at the current cursor location of <B>stdscr</B>.   It  does  not
+       update  the cursor and does not perform wrapping.  A character count of
+       -1 or greater than the remaining  window  width  means  to  change  at-
+       tributes  all the way to the end of the current line.  The <B>wchgat</B> func-
+       tion generalizes this to any window; the <B>mvwchgat</B> function does a  cur-
+       sor move before acting.
+
+       In  these  functions, the color <I>pair</I> argument is a color-pair index (as
+       in the first argument of <B>init_pair</B>, see <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>).
+
+
+</PRE><H3><a name="h3-Change-window-color">Change window color</a></H3><PRE>
+       The routine <B>color_set</B> sets the current color of the given window to the
+       foreground/background  combination  described by the color <I>pair</I> parame-
+       ter.
+
+
+</PRE><H3><a name="h3-Standout">Standout</a></H3><PRE>
+       The routine <B>standout</B> is the same as  <B>attron(A_STANDOUT)</B>.   The  routine
+       <B>standend</B>  is  the  same as <B>attrset(A_NORMAL)</B> or <B>attrset(0)</B>, that is, it
+       turns off all attributes.
+
+       X/Open does not mark these "restricted", because
+
+       <B>o</B>   they have well established legacy use, and
+
+       <B>o</B>   there is no ambiguity about the way the attributes  might  be  com-
+           bined with a color pair.
+
+
+</PRE><H2><a name="h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></H2><PRE>
+       The following video attributes, defined in <B>&lt;curses.h&gt;</B>, can be passed to
+       the routines <B>attron</B>, <B>attroff</B>, and <B>attrset</B>, or OR'd with the  characters
+       passed to <B>addch</B> (see <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>).
+
+              <I>Name</I>           <I>Description</I>
+              -----------------------------------------------------------------
+              <B>A_NORMAL</B>       Normal display (no highlight)
+              <B>A_STANDOUT</B>     Best highlighting mode of the terminal.
+              <B>A_UNDERLINE</B>    Underlining
+              <B>A_REVERSE</B>      Reverse video
+              <B>A_BLINK</B>        Blinking
+              <B>A_DIM</B>          Half bright
+              <B>A_BOLD</B>         Extra bright or bold
+              <B>A_PROTECT</B>      Protected mode
+              <B>A_INVIS</B>        Invisible or blank mode
+              <B>A_ALTCHARSET</B>   Alternate character set
+              <B>A_ITALIC</B>       Italics (non-X/Open extension)
+              <B>A_CHARTEXT</B>     Bit-mask to extract a character
+              <B>A_COLOR</B>        Bit-mask to extract a color (legacy routines)
+
+       These  video  attributes are supported by <B>attr_on</B> and related functions
+       (which also support the attributes recognized by <B>attron</B>, etc.):
+
+              <I>Name</I>            <I>Description</I>
+              -----------------------------------------
+              <B>WA_HORIZONTAL</B>   Horizontal highlight
+              <B>WA_LEFT</B>         Left highlight
+              <B>WA_LOW</B>          Low highlight
+              <B>WA_RIGHT</B>        Right highlight
+              <B>WA_TOP</B>          Top highlight
+              <B>WA_VERTICAL</B>     Vertical highlight
+
+       The return values of many of these routines are  not  meaningful  (they
+       are  implemented  as macro-expanded assignments and simply return their
+       argument).  The SVr4 manual page claims (falsely) that  these  routines
+       always return <B>1</B>.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       These functions may be macros:
+
+              <B>attroff</B>,  <B>wattroff</B>, <B>attron</B>, <B>wattron</B>, <B>attrset</B>, <B>wattrset</B>, <B>standend</B>
+              and <B>standout</B>.
+
+       Color pair values can only be OR'd with attributes if the  pair  number
+       is less than 256.  The alternate functions such as <B>color_set</B> can pass a
+       color pair value directly.  However, ncurses ABI 4 and 5 simply OR this
+       value  within  the  alternate functions.  You must use ncurses ABI 6 to
        support more than 256 color pairs.
 
 
-</PRE>
-<H2>PORTABILITY</H2><PRE>
-       These  functions are supported in the XSI Curses standard,
-       Issue 4.  The standard  defined  the  dedicated  type  for
-       highlights,  <STRONG>attr_t</STRONG>,  which is not defined in SVr4 curses.
-       The functions taking <STRONG>attr_t</STRONG> arguments  are  not  supported
-       under SVr4.
-
-       The XSI Curses standard states that whether the tradition-
-       al functions  <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG>  can  manipulate  at-
-       tributes  other  than  <STRONG>A_BLINK</STRONG>,  <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>,
-       <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".   Under  this
-       implementation  as  well  as  SVr4 curses, these functions
-       correctly manipulate all other  highlights  (specifically,
-       <STRONG>A_ALTCHARSET</STRONG>, <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
-
-       XSI  Curses added the new entry points, <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>,
-       <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>,  <STRONG>wattr_get</STRONG>,  <STRONG>wat-</STRONG>
-       <STRONG>tr_set</STRONG>.   These  are intended to work with a new series of
-       highlight macros prefixed with <STRONG>WA_</STRONG>.
-
-       Older versions of this library did not force an update  of
-       the  screen when changing the attributes.  Use <STRONG>touchwin</STRONG> to
-       force the screen to match the updated attributes.
-
-        <STRONG>WA_NORMAL</STRONG>       Normal display (no highlight)
-        <STRONG>WA_STANDOUT</STRONG>     Best highlighting mode of the terminal.
-        <STRONG>WA_UNDERLINE</STRONG>    Underlining
-        <STRONG>WA_REVERSE</STRONG>      Reverse video
-        <STRONG>WA_BLINK</STRONG>        Blinking
-        <STRONG>WA_DIM</STRONG>          Half bright
-        <STRONG>WA_BOLD</STRONG>         Extra bright or bold
-        <STRONG>WA_ALTCHARSET</STRONG>   Alternate character set
-
-       The XSI curses standard specifies that each pair of corre-
-       sponding  <STRONG>A_</STRONG>  and <STRONG>WA_</STRONG>-using functions operates on the same
-       current-highlight information.
-
-       The XSI standard extended conformance level adds new high-
-       lights <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VER-</STRONG>
-       <STRONG>TICAL</STRONG> (and corresponding <STRONG>WA_</STRONG> macros for each)  which  this
-       implementation does not yet support.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       X/Open Curses is largely based  on  SVr4  curses,  adding  support  for
+       "wide-characters"  (not  specific to Unicode).  Some of the X/Open dif-
+       ferences from SVr4 curses address the way video attributes can  be  ap-
+       plied  to  wide-characters.   But aside from that, <B>attrset</B> and <B>attr_set</B>
+       are similar.  SVr4 curses provided the basic features for  manipulating
+       video  attributes.  However, earlier versions of curses provided a part
+       of these features.
 
+       As seen in 2.8BSD, curses assumed 7-bit characters,  using  the  eighth
+       bit  of  a byte to represent the <I>standout</I> feature (often implemented as
+       bold and/or reverse video).  The BSD curses library provided  functions
+       <B>standout</B>  and  <B>standend</B> which were carried along into X/Open Curses due
+       to their pervasive use in legacy applications.
 
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
-       All  routines  return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on
-       failure.
+       Some terminals in the 1980s  could  support  a  variety  of  video  at-
+       tributes,  although the BSD curses library could do nothing with those.
+       System V (1983) provided an improved curses library.  It defined the <B>A_</B>
+       symbols  for  use  by  applications to manipulate the other attributes.
+       There are few useful references for the chronology.
+
+       Goodheart's book <I>UNIX</I> <I>Curses</I> <I>Explained</I> (1991)  describes  SVr3  (1987),
+       commenting on several functions:
+
+       <B>o</B>   the  <B>attron</B>,  <B>attroff</B>, <B>attrset</B> functions (and most of the functions
+           found in SVr4 but not in BSD curses) were introduced by System V,
+
+       <B>o</B>   the alternate character set feature with <B>A_ALTCHARSET</B> was added  in
+           SVr2 and improved in SVr3 (by adding <B>acs_map[]</B>),
+
+       <B>o</B>   <B>start_color</B>  and  related color-functions were introduced by System
+           V.3.2,
+
+       <B>o</B>   pads, soft-keys were added in SVr3, and
+
+       Goodheart did not mention the background character or the <B>cchar_t</B> type.
+       Those are respectively SVr4 and X/Open features.  He did mention the <B>A_</B>
+       constants, but did not indicate their values.  Those were not the  same
+       in different systems, even for those marked as System V.
+
+       Different  Unix  systems  used  different  sizes  for the bit-fields in
+       <B>chtype</B> for <I>characters</I> and <I>colors</I>, and took into account  the  different
+       integer sizes (32-bit versus 64-bit).
+
+       This  table  showing  the number of bits for <B>A_COLOR</B> and <B>A_CHARTEXT</B> was
+       gleaned from the curses header files for various operating systems  and
+       architectures.   The inferred architecture and notes reflect the format
+       and size of the defined constants as well as clues such as  the  alter-
+       nate  character  set implementation.  A 32-bit library can be used on a
+       64-bit system, but not necessarily the reverse.
+
+              <I>Year</I>   <I>System</I>        <I>Arch</I>    <I>Color</I>   <I>Char</I>   <I>Notes</I>
+              ----------------------------------------------------------------
+              1992   Solaris 5.2   32      6       17     SVr4 curses
+              1992   HPUX 9        32      no      8      SVr2 curses
+              1992   AIX 3.2       32      no      23     SVr2 curses
+              1994   OSF/1 r3      32      no      23     SVr2 curses
+              1995   HP-UX 10.00   32      6       16     SVr3 "curses_colr"
+              1995   HP-UX 10.00   32      6       8      SVr4, X/Open curses
+              1995   Solaris 5.4   32/64   7       16     X/Open curses
+              1996   AIX 4.2       32      7       16     X/Open curses
+              1996   OSF/1 r4      32      6       16     X/Open curses
+
+              1997   HP-UX 11.00   32      6       8      X/Open curses
+              2000   U/Win         32/64   7/31    16     uses <B>chtype</B>
+
+       Notes:
+
+          Regarding HP-UX,
+
+          <B>o</B>   HP-UX 10.20 (1996) added support for 64-bit  PA-RISC  processors
+              in 1996.
+
+          <B>o</B>   HP-UX  10.30 (1997) marked "curses_colr" obsolete.  That version
+              of curses was dropped with HP-UX 11.30 in 2006.
+
+          Regarding OSF/1 (and Tru64),
+
+          <B>o</B>   These used 64-bit hardware.  Like ncurses, the OSF/1 curses  in-
+              terface is not customized for 32-bit and 64-bit versions.
+
+          <B>o</B>   Unlike other systems which evolved from AT&amp;T code, OSF/1 provid-
+              ed a new implementation for X/Open curses.
+
+          Regarding Solaris,
+
+          <B>o</B>   The initial release of Solaris was in 1992.
+
+          <B>o</B>   The <I>xpg4</I> (X/Open) curses was developed by MKS from 1990 to 1995.
+              Sun's copyright began in 1996.
+
+          <B>o</B>   Sun updated the X/Open curses interface after 64-bit support was
+              introduced in 1997, but did not modify the  SVr4  curses  inter-
+              face.
+
+          Regarding U/Win,
+
+          <B>o</B>   Development  of  the  curses  library  began in 1991, stopped in
+              2000.
+
+          <B>o</B>   Color support was added in 1998.
+
+          <B>o</B>   The library uses only <B>chtype</B> (no <B>cchar_t</B>).
+
+       Once X/Open curses was adopted in the mid-1990s, the  constraint  of  a
+       32-bit interface with many colors and wide-characters for <B>chtype</B> became
+       a moot point.  The <B>cchar_t</B> structure (whose size and  members  are  not
+       specified in X/Open Curses) could be extended as needed.
+
+       Other interfaces are rarely used now:
+
+       <B>o</B>   BSD  curses was improved slightly in 1993/1994 using Keith Bostic's
+           modification to make the library 8-bit clean  for  <B>nvi</B>.   He  moved
+           <I>standout</I> attribute to a structure member.
+
+           The  resulting  4.4BSD curses was replaced by ncurses over the next
+           ten years.
+
+       <B>o</B>   U/Win is rarely used now.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       This implementation provides the <B>A_ITALIC</B> attribute for terminals which
+       have  the  <B>enter_italics_mode</B> (<B>sitm</B>) and <B>exit_italics_mode</B> (<B>ritm</B>) capa-
+       bilities.  Italics are not mentioned in X/Open Curses.  Unlike the oth-
+       er  video attributes, <B>A_ITALIC</B> is unrelated to the <B>set_attributes</B> capa-
+       bilities.  This implementation makes the  assumption  that  <B>exit_attri-</B>
+       <B>bute_mode</B> may also reset italics.
+
+       Each  of  the functions added by XSI Curses has a parameter <I>opts</I>, which
+       X/Open Curses still (after more than twenty  years)  documents  as  re-
+       served for future use, saying that it should be <B>NULL</B>.  This implementa-
+       tion uses that parameter in ABI 6 for the functions which have a color-
+       pair parameter to support <I>extended</I> <I>color</I> <I>pairs</I>:
+
+       <B>o</B>   For  functions  which modify the color, e.g., <B>wattr_set</B>, if <I>opts</I> is
+           set it is treated as a pointer to <B>int</B>, and used to  set  the  color
+           pair instead of the <B>short</B> <I>pair</I> parameter.
+
+       <B>o</B>   For functions which retrieve the color, e.g., <B>wattr_get</B>, if <I>opts</I> is
+           set it is treated as a pointer to <B>int</B>, and  used  to  retrieve  the
+           color pair as an <B>int</B> value, in addition retrieving it via the stan-
+           dard pointer to <B>short</B> parameter.
+
+       The remaining functions which have <I>opts</I>, but do not  manipulate  color,
+       e.g., <B>wattr_on</B> and <B>wattr_off</B> are not used by this implementation except
+       to check that they are <B>NULL</B>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are supported in the XSI Curses standard, Issue 4.  The
+       standard  defined  the dedicated type for highlights, <B>attr_t</B>, which was
+       not defined in SVr4 curses.  The functions taking <B>attr_t</B> arguments were
+       not supported under SVr4.
+
+       Very old versions of this library did not force an update of the screen
+       when changing the attributes.  Use <B>touchwin</B>  to  force  the  screen  to
+       match the updated attributes.
+
+       The  XSI  Curses standard states that whether the traditional functions
+       <B>attron</B>/<B>attroff</B>/<B>attrset</B> can manipulate attributes  other  than  <B>A_BLINK</B>,
+       <B>A_BOLD</B>,  <B>A_DIM</B>, <B>A_REVERSE</B>, <B>A_STANDOUT</B>, or <B>A_UNDERLINE</B> is "unspecified".
+       Under this implementation as well as SVr4 curses, these functions  cor-
+       rectly  manipulate  all  other  highlights (specifically, <B>A_ALTCHARSET</B>,
+       <B>A_PROTECT</B>, and <B>A_INVIS</B>).
+
+       XSI Curses added these entry points:
+
+              <B>attr_get</B>, <B>attr_on</B>, <B>attr_off</B>, <B>attr_set</B>, <B>wattr_on</B>, <B>wattr_off</B>, <B>wat-</B>
+              <B>tr_get</B>, <B>wattr_set</B>
+
+       The  new  functions are intended to work with a new series of highlight
+       macros prefixed with <B>WA_</B>.  The older macros have direct counterparts in
+       the newer set of names:
+
+              <I>Name</I>            <I>Description</I>
+              ------------------------------------------------------------
+              <B>WA_NORMAL</B>       Normal display (no highlight)
+              <B>WA_STANDOUT</B>     Best highlighting mode of the terminal.
+              <B>WA_UNDERLINE</B>    Underlining
+              <B>WA_REVERSE</B>      Reverse video
+              <B>WA_BLINK</B>        Blinking
+              <B>WA_DIM</B>          Half bright
+              <B>WA_BOLD</B>         Extra bright or bold
+              <B>WA_ALTCHARSET</B>   Alternate character set
+
+       XSI  curses  does not assign values to these symbols, nor does it state
+       whether or not they are related to the similarly-named A_NORMAL, etc.:
+
+       <B>o</B>   The XSI curses standard specifies that each pair  of  corresponding
+           <B>A_</B>  and  <B>WA_</B>-using functions operates on the same current-highlight
+           information.
+
+       <B>o</B>   However, in some implementations, those symbols have unrelated val-
+           ues.
+
+           For example, the Solaris <I>xpg4</I> (X/Open) curses declares <B>attr_t</B> to be
+           an unsigned short integer (16-bits), while <B>chtype</B> is a unsigned in-
+           teger  (32-bits).   The <B>WA_</B> symbols in this case are different from
+           the <B>A_</B> symbols because they are used for a smaller  datatype  which
+           does not represent <B>A_CHARTEXT</B> or <B>A_COLOR</B>.
+
+           In this implementation (as in many others), the values happen to be
+           the same because it simplifies copying information  between  <B>chtype</B>
+           and <B>cchar_t</B> variables.
+
+       The XSI standard extended conformance level adds new highlights <B>A_HORI-</B>
+       <B>ZONTAL</B>, <B>A_LEFT</B>, <B>A_LOW</B>, <B>A_RIGHT</B>, <B>A_TOP</B>,  <B>A_VERTICAL</B>  (and  corresponding
+       <B>WA_</B>  macros  for  each).  As of August 2013, no known terminal provides
+       these highlights (i.e., via the <B>sgr1</B> capability).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All routines return the integer <B>OK</B> on success, or <B>ERR</B> on failure.
 
        X/Open does not define any error conditions.
 
-       This implementation returns an error if the window pointer
-       is  null.  The <STRONG>wcolor_set</STRONG> function returns an error if the
-       color  pair  parameter  is  outside  the   range   0..COL-
-       OR_PAIRS-1.   This  implementation  also provides <STRONG>getattrs</STRONG>
-       for compatibility with older versions of curses.
+       This implementation
 
+       <B>o</B>   returns an error if the window pointer is null.
 
-</PRE>
-<H2>SEE ALSO</H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,        <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>,        <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+       <B>o</B>   returns an error if the color pair parameter for <B>wcolor_set</B> is out-
+           side the range 0..COLOR_PAIRS-1.
+
+       <B>o</B>   does  not  return an error if either of the parameters of <B>wattr_get</B>
+           used for retrieving attribute or color-pair values is <B>NULL</B>.
+
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <B>wmove</B>, and return an error if the position is outside the window, or if
+       the window pointer is null.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>, <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>, <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>,
+       <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>
 
 
 
-                                                          <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                                                                 <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Window-attributes">Window attributes</a></li>
+<li><a href="#h3-Legacy-window-attributes">Legacy window attributes</a></li>
+<li><a href="#h3-Change-character-rendition">Change character rendition</a></li>
+<li><a href="#h3-Change-window-color">Change window color</a></li>
+<li><a href="#h3-Standout">Standout</a></li>
+</ul>
+</li>
+<li><a href="#h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>