The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/include/curses.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* curses.h - defines macros and prototypes for curses */
    2 
    3 #ifndef _CURSES_H
    4 #define _CURSES_H
    5 
    6 #include <termios.h>
    7 #include <stdarg.h>
    8 #include <stdio.h>
    9 
   10 typedef int bool;
   11 
   12 #ifndef TRUE
   13 #define TRUE 1
   14 #endif
   15 #ifndef FALSE
   16 #define FALSE 0
   17 #endif
   18 #ifndef ERR
   19 #define ERR (-1)        /* general error flag */
   20 #endif
   21 #ifndef OK
   22 #define OK 0            /* general OK flag */
   23 #endif
   24 
   25 /* Macros. */
   26 #define box(win,vc,hc) wbox(win,0,0,0,0,vc,hc)
   27 #define addch(ch) waddch(stdscr,ch)
   28 #define mvaddch(y,x,ch) (wmove(stdscr,y,x)==ERR?ERR:waddch(stdscr,ch))
   29 #define mvwaddch(win,y,x,ch) (wmove(win,y,x)==ERR?ERR:waddch(win,ch))
   30 #define getch() wgetch(stdscr)
   31 #define mvgetch(y,x) (wmove(stdscr,y,x)==ERR?ERR:wgetch(stdscr))
   32 #define mvwgetch(win,y,x) (wmove(win,y,x)==ERR?ERR:wgetch(win))
   33 #define addstr(str) waddstr(stdscr,str)
   34 #define mvaddstr(y,x,str) (wmove(stdscr,y,x)==ERR?ERR:waddstr(stdscr,str))
   35 #define mvwaddstr(win,y,x,str) (wmove(win,y,x)==ERR?ERR:waddstr(win,str))
   36 #define getstr(str) wgetstr(stdscr,str)
   37 #define mvgetstr(y,x,str) (wmove(stdscr,y,x)==ERR?ERR:wgetstr(stdscr,str))
   38 #define mvwgetstr(win,y,x,str) (wmove(win,y,x)==ERR?ERR:wgetstr(win,str))
   39 #define move(y,x) wmove(stdscr,y,x)
   40 #define clear() wclear(stdscr)
   41 #define erase() werase(stdscr)
   42 #define clrtobot() wclrtobot(stdscr)
   43 #define mvclrtobot(y,x) (wmove(stdscr,y,x)==ERR?ERR:wclrtobot(stdscr))
   44 #define mvwclrtobot(win,y,x) (wmove(win,y,x)==ERR?ERR:wclrtobot(win))
   45 #define clrtoeol() wclrtoeol(stdscr)
   46 #define mvclrtoeol(y,x) (wmove(stdscr,y,x)==ERR?ERR:wclrtoeol(stdscr))
   47 #define mvwclrtoeol(win,y,x) (wmove(win,y,x)==ERR?ERR:wclrtoeol(win))
   48 #define insertln() winsertln(stdscr)
   49 #define mvinsertln(y,x) (wmove(stdscr,y,x)==ERR?ERR:winsertln(stdscr))
   50 #define mvwinsertln(win,y,x) (wmove(win,y,x)==ERR?ERR:winsertln(win))
   51 #define deleteln() wdeleteln(stdscr)
   52 #define mvdeleteln(y,x) (wmove(stdscr,y,x)==ERR?ERR:wdeleteln(stdscr))
   53 #define mvwdeleteln(win,y,x) (wmove(win,y,x)==ERR?ERR:wdeleteln(win))
   54 #define refresh() wrefresh(stdscr)
   55 #define inch() winch(stdscr)
   56 #define insch(ch) winsch(stdscr,ch)
   57 #define mvinsch(y,x,ch) (wmove(stdscr,y,x)==ERR?ERR:winsch(stdscr,ch))
   58 #define mvwinsch(win,y,x,ch) (wmove(win,y,x)==ERR?ERR:winsch(win,ch))
   59 #define delch() wdelch(stdscr)
   60 #define mvdelch(y,x) (wmove(stdscr,y,x)==ERR?ERR:wdelch(stdscr))
   61 #define mvwdelch(win,y,x) (wmove(win,y,x)==ERR?ERR:wdelch(win))
   62 #define standout() wstandout(stdscr)
   63 #define wstandout(win) ((win)->_attrs |= A_STANDOUT)
   64 #define standend() wstandend(stdscr)
   65 #define wstandend(win) ((win)->_attrs &= ~A_STANDOUT)
   66 #define attrset(attrs) wattrset(stdscr, attrs)
   67 #define wattrset(win, attrs) ((win)->_attrs = (attrs))
   68 #define attron(attrs) wattron(stdscr, attrs)
   69 #define wattron(win, attrs) ((win)->_attrs |= (attrs))
   70 #define attroff(attrs) wattroff(stdscr,attrs)
   71 #define wattroff(win, attrs) ((win)->_attrs &= ~(attrs))
   72 #define resetty() tcsetattr(1, TCSANOW, &_orig_tty)
   73 #define getyx(win,y,x) (y = (win)->_cury, x = (win)->_curx)
   74 
   75 /* Video attribute definitions. */
   76 #define A_BLINK        0x0100
   77 #define A_BLANK        0
   78 #define A_BOLD         0x0200
   79 #define A_DIM          0
   80 #define A_PROTECT      0
   81 #define A_REVERSE      0x0400
   82 #define A_STANDOUT     0x0800
   83 #define A_UNDERLINE    0x1000
   84 #define A_ALTCHARSET   0x2000
   85 
   86 /* Type declarations. */
   87 typedef struct {
   88   int      _cury;                       /* current pseudo-cursor */
   89   int      _curx;
   90   int      _maxy;                       /* max coordinates */
   91   int      _maxx;
   92   int      _begy;                       /* origin on screen */
   93   int      _begx;
   94   int      _flags;                      /* window properties */
   95   int      _attrs;                      /* attributes of written characters */
   96   int      _tabsize;                    /* tab character size */
   97   bool     _clear;                      /* causes clear at next refresh */
   98   bool     _leave;                      /* leaves cursor as it happens */
   99   bool     _scroll;                     /* allows window scrolling */
  100   bool     _nodelay;                    /* input character wait flag */
  101   bool     _keypad;                     /* flags keypad key mode active */
  102   int    **_line;                       /* pointer to line pointer array */
  103   int     *_minchng;                    /* First changed character in line */
  104   int     *_maxchng;                    /* Last changed character in line */
  105   int      _regtop;                     /* Top/bottom of scrolling region */
  106   int      _regbottom;
  107 } WINDOW;
  108 
  109 /* External variables */
  110 extern int LINES;                       /* terminal height */
  111 extern int COLS;                        /* terminal width */
  112 extern bool NONL;                       /* \n causes CR too ? */
  113 extern WINDOW *curscr;                  /* the current screen image */
  114 extern WINDOW *stdscr;                  /* the default screen window */
  115 extern struct termios _orig_tty, _tty;
  116 
  117 extern unsigned int ACS_ULCORNER;       /* terminal dependent block grafic */
  118 extern unsigned int ACS_LLCORNER;       /* charcters.  Forget IBM, we are */
  119 extern unsigned int ACS_URCORNER;       /* independent of their charset. :-) */
  120 extern unsigned int ACS_LRCORNER;
  121 extern unsigned int ACS_RTEE;
  122 extern unsigned int ACS_LTEE;
  123 extern unsigned int ACS_BTEE;
  124 extern unsigned int ACS_TTEE;
  125 extern unsigned int ACS_HLINE;
  126 extern unsigned int ACS_VLINE;
  127 extern unsigned int ACS_PLUS;
  128 extern unsigned int ACS_S1;
  129 extern unsigned int ACS_S9;
  130 extern unsigned int ACS_DIAMOND;
  131 extern unsigned int ACS_CKBOARD;
  132 extern unsigned int ACS_DEGREE;
  133 extern unsigned int ACS_PLMINUS;
  134 extern unsigned int ACS_BULLET;
  135 extern unsigned int ACS_LARROW;
  136 extern unsigned int ACS_RARROW;
  137 extern unsigned int ACS_DARROW;
  138 extern unsigned int ACS_UARROW;
  139 extern unsigned int ACS_BOARD;
  140 extern unsigned int ACS_LANTERN;
  141 extern unsigned int ACS_BLOCK;
  142 
  143 _PROTOTYPE( char *unctrl, (int _c) );
  144 _PROTOTYPE( int baudrate, (void));
  145 _PROTOTYPE( void beep, (void));
  146 _PROTOTYPE( void cbreak, (void));
  147 _PROTOTYPE( void clearok, (WINDOW *_win, bool _flag) );
  148 _PROTOTYPE( void clrscr, (void));
  149 _PROTOTYPE( void curs_set, (int _visibility) );
  150 _PROTOTYPE( void delwin, (WINDOW *_win) );
  151 _PROTOTYPE( void doupdate, (void));
  152 _PROTOTYPE( void echo, (void));
  153 _PROTOTYPE( int endwin, (void));
  154 _PROTOTYPE( int erasechar, (void));
  155 _PROTOTYPE( void fatal, (char *_s) );
  156 _PROTOTYPE( int fixterm, (void));
  157 _PROTOTYPE( void flash, (void));
  158 _PROTOTYPE( void gettmode, (void));
  159 _PROTOTYPE( void idlok, (WINDOW *_win, bool _flag) );
  160 _PROTOTYPE( WINDOW *initscr, (void));
  161 _PROTOTYPE( void keypad, (WINDOW *_win, bool _flag) );
  162 _PROTOTYPE( int killchar, (void));
  163 _PROTOTYPE( void leaveok, (WINDOW *_win, bool _flag) );
  164 _PROTOTYPE( char *longname, (void));
  165 _PROTOTYPE( void meta, (WINDOW *_win, bool _flag) );
  166 _PROTOTYPE( int mvcur, (int _oldy, int _oldx, int _newy, int _newx) );
  167 _PROTOTYPE( int mvinch, (int _y, int _x) );
  168 _PROTOTYPE( int mvprintw, (int _y, int _x, const char *_fmt, ...) );
  169 _PROTOTYPE( int mvscanw, (int _y, int _x, const char *_fmt, ...) );
  170 _PROTOTYPE( int mvwin, (WINDOW *_win, int _begy, int _begx) );
  171 _PROTOTYPE( int mvwinch, (WINDOW *_win, int _y, int _x) );
  172 _PROTOTYPE( int mvwprintw, (WINDOW *_win, int _y, int _x, const char *_fmt,
  173                                                                         ...) );
  174 _PROTOTYPE( int mvwscanw, (WINDOW *_win, int _y, int _x, const char *_fmt,
  175                                                                         ...) );
  176 _PROTOTYPE( WINDOW *newwin, (int _num_lines, int _num_cols, int _y, int _x));
  177 _PROTOTYPE( void nl, (void));
  178 _PROTOTYPE( void nocbreak, (void));
  179 _PROTOTYPE( void nodelay, (WINDOW *_win, bool _flag) );
  180 _PROTOTYPE( void noecho, (void));
  181 _PROTOTYPE( void nonl, (void));
  182 _PROTOTYPE( void noraw, (void));
  183 _PROTOTYPE( void outc, (int _c) );
  184 _PROTOTYPE( void  overlay, (WINDOW *_win1, WINDOW *_win2) );
  185 _PROTOTYPE( void  overwrite, (WINDOW *_win1, WINDOW *_win2) );
  186 _PROTOTYPE( void poscur, (int _r, int _c) );
  187 _PROTOTYPE( int printw, (const char *_fmt, ...) );
  188 _PROTOTYPE( void raw, (void));
  189 _PROTOTYPE( int resetterm, (void));
  190 _PROTOTYPE( int saveoldterm, (void));
  191 _PROTOTYPE( int saveterm, (void));
  192 _PROTOTYPE( int savetty, (void));
  193 _PROTOTYPE( int scanw, (const char *_fmt, ...) );
  194 _PROTOTYPE( void scroll, (WINDOW *_win) );
  195 _PROTOTYPE( void scrollok, (WINDOW *_win, bool _flag) );
  196 _PROTOTYPE( int setscrreg, (int _top, int _bottom) );
  197 _PROTOTYPE( int setterm, (char *_type) );
  198 _PROTOTYPE( int setupterm, (void));
  199 _PROTOTYPE( WINDOW *subwin, (WINDOW *_orig, int _nlines, int _ncols, int _y,
  200                                         int _x));
  201 _PROTOTYPE( int tabsize, (int _ts) );
  202 _PROTOTYPE( void touchwin, (WINDOW *_win) );
  203 _PROTOTYPE( int waddch, (WINDOW *_win, int _c) );
  204 _PROTOTYPE( int waddstr, (WINDOW *_win, char *_str) );
  205 _PROTOTYPE( int wbox, (WINDOW *_win, int _ymin, int _xmin, int _ymax,
  206                                 int _xmax, unsigned int _v, unsigned int _h) );
  207 _PROTOTYPE( void wclear, (WINDOW *_win) );
  208 _PROTOTYPE( int wclrtobot, (WINDOW *_win) );
  209 _PROTOTYPE( int wclrtoeol, (WINDOW *_win) );
  210 _PROTOTYPE( int wdelch, (WINDOW *_win) );
  211 _PROTOTYPE( int wdeleteln, (WINDOW *_win) );
  212 _PROTOTYPE( void werase, (WINDOW *_win) );
  213 _PROTOTYPE( int wgetch, (WINDOW *_win) );
  214 _PROTOTYPE( int wgetstr, (WINDOW *_win, char *_str) );
  215 _PROTOTYPE( int winch, (WINDOW *_win) );
  216 _PROTOTYPE( int winsch, (WINDOW *_win, int _c) );
  217 _PROTOTYPE( int winsertln, (WINDOW *_win) );
  218 _PROTOTYPE( int wmove, (WINDOW *_win, int _y, int _x) );
  219 _PROTOTYPE( void wnoutrefresh, (WINDOW *_win) );
  220 _PROTOTYPE( int wprintw, (WINDOW *_win, const char *_fmt, ...));
  221 _PROTOTYPE( void wrefresh, (WINDOW *_win) );
  222 _PROTOTYPE( int wscanw, (WINDOW *_win, const char *_fmt, ...));
  223 _PROTOTYPE( int wsetscrreg, (WINDOW *_win, int _top, int _bottom) );
  224 _PROTOTYPE( int wtabsize, (WINDOW *_win, int _ts) );
  225 
  226 #endif /* _CURSES_H */

Cache object: afb2a059970514451f5226b9fc6f68d8


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.