FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

delay_output, filter, flushinp, getwin, key_name, keyname, nofilter,



        delay_output, filter, flushinp, getwin, key_name, keyname, nofilter,
        putwin, unctrl, use_env, wunctrl - miscellaneous curses utility


        #include <curses.h>
        char *unctrl(chtype c);
        char *wunctrl(cchar_t *c);
        char *keyname(int c);
        char *key_name(wchar_t w);
        void filter(void);
        void nofilter(void);
        void use_env(bool f);
        int putwin(WINDOW *win, FILE *filep);
        WINDOW *getwin(FILE *filep);
        int delay_output(int ms);
        int flushinp(void);


        The unctrl routine returns a character string which is a printable rep‐
        resentation of the character c, ignoring attributes.   Control  charac‐
        ters  are  displayed  in the ^X notation.  Printing characters are dis‐
        played as is.  The corresponding wunctrl returns a printable  represen‐
        tation of a wide-character.
        The keyname routine returns a character string corresponding to the key
        c.  Control characters are displayed in the ^X notation.  Values  above
        128 are either meta characters, shown in the M-X notation, or the names
        of function keys, or null.  The corresponding key_name returns a  char‐
        acter  string  corresponding  to  the  wide-character value w.  The two
        functions do not return the same set of  strings;  the  latter  returns
        null where the former would display a meta character.
        The  filter  routine, if used, must be called before initscr or newterm
        are called.  The effect is that, during those calls, LINES is set to 1;
        the  capabilities  clear,  cup, cud, cud1, cuu1, cuu, vpa are disabled;
        and the home string is set to the value of cr.
        The nofilter routine cancels the effect of  a  preceding  filter  call.
        That  allows  the  caller to initialize a screen on a different device,
        using a different value of $TERM.  The limitation  arises  because  the
        filter routine modifies the in-memory copy of the terminal information.
        The use_env routine, if used, is called before initscr or  newterm  are
        called.  When called with FALSE as an argument, the values of lines and
        columns specified in the terminfo database will be used, even if  envi‐
        ronment  variables  LINES  and COLUMNS (used by default) are set, or if
        curses is running in a window (in which case default behavior would  be
        to  use  the  window size if LINES and COLUMNS are not set).  Note that
        setting LINES or COLUMNS overrides the corresponding size which may  be
        obtained from the operating system.
        The  putwin routine writes all data associated with window win into the
        file to which filep points.  This information can  be  later  retrieved
        using the getwin function.
        The  getwin  routine  reads  window  related data stored in the file by
        putwin.  The routine then creates and initializes a  new  window  using
        that data.  It returns a pointer to the new window.
        The  delay_output  routine  inserts  an ms millisecond pause in output.
        This routine should not be used extensively because padding  characters
        are  used  rather  than a CPU pause.  If no padding character is speci‐
        fied, this uses napms to perform the delay.
        The flushinp routine throws away any typeahead that has been  typed  by
        the user and has not yet been read by the program.
        Except  for  flushinp,  routines that return an integer return ERR upon
        failure and OK (SVr4 specifies only "an integer value other than  ERR")
        upon successful completion.
        Routines that return pointers return NULL on error.
        X/Open does not define any error conditions.  In this implementation
                    returns an error if the terminal was not initialized.
                    returns  an  error if the associated fwrite calls return an


        The XSI Curses standard, Issue 4 describes these functions.  It  states
        that unctrl and wunctrl will return a null pointer if unsuccessful, but
        does not define any error conditions.
        The SVr4 documentation describes the  action  of  filter  only  in  the
        vaguest  terms.   The  description  here is adapted from the XSI Curses
        standard (which erroneously fails to describe the disabling of cuu).
        The strings returned by unctrl in this implementation are determined at
        compile  time,  showing C1 controls from the upper-128 codes with a ‘~’
        prefix rather than ‘^’.  Other implementations have  different  conven‐
        tions.  For example, they may show both sets of control characters with
        ‘^’, and strip the parameter to 7 bits.  Or they may ignore C1 controls
        and  treat  all of the upper-1280 codes as printable.  This implementa‐
        tion uses 8 bits but does not modify the string to reflect locale.  The
        use_legacy_coding  function  allows  the caller to change the output of
        The keyname function may return the names of user-defined string  capa‐
        bilities  which  are defined in the terminfo entry via the -x option of
        tic.  This implementation automatically assigns at run-time keycodes to
        user-defined  strings  which  begin  with  "k".   The keycodes start at
        KEY_MAX, but are not guaranteed to be the same value for different runs
        because  user-defined  codes  are merged from all terminal descriptions
        which have been loaded.
        The nofilter routine is specific to ncurses.  It was not  supported  on
        Version 7, BSD or System V implementations.  It is recommended that any
        code depending on ncurses extensions be conditioned using  NCURSES_VER‐
        use_legacy_coding(3),  curses(3X),  curs_initscr(3X),  curs_kernel(3X),


Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.