summaryrefslogtreecommitdiff
path: root/ext/ncurses/ncurses.c
diff options
context:
space:
mode:
authorGeorg Richter <georg@php.net>2001-12-29 11:48:30 +0000
committerGeorg Richter <georg@php.net>2001-12-29 11:48:30 +0000
commitdf9dc889e02319a20fb6aaec83089c5acd0a2b1e (patch)
tree85453e00b30c7d7ccc96f19d705051fb279ca139 /ext/ncurses/ncurses.c
parentc6f1e68e75e12119006e85b6e2fc090dba9c40cb (diff)
downloadphp-git-df9dc889e02319a20fb6aaec83089c5acd0a2b1e.tar.gz
1) fixed bugs in soft label key functions
2) insert new slk-functions 3) defined new key-constants
Diffstat (limited to 'ext/ncurses/ncurses.c')
-rw-r--r--ext/ncurses/ncurses.c128
1 files changed, 125 insertions, 3 deletions
diff --git a/ext/ncurses/ncurses.c b/ext/ncurses/ncurses.c
index 775dc9787d..6e79507b56 100644
--- a/ext/ncurses/ncurses.c
+++ b/ext/ncurses/ncurses.c
@@ -74,6 +74,8 @@ PHP_INI_END()
/* }}} */
#define PHP_NCURSES_CONST(x) REGISTER_LONG_CONSTANT("NCURSES_"#x, x, CONST_CS | CONST_PERSISTENT)
+#define PHP_NCURSES_FKEY_CONST(x) REGISTER_LONG_CONSTANT("NCURSES_KEY_F"#x, KEY_F0 + x, CONST_CS | CONST_PERSISTENT)
+
/* {{{ PHP_MINIT_FUNCTION
*/
@@ -88,13 +90,128 @@ PHP_MINIT_FUNCTION(ncurses)
PHP_NCURSES_CONST(COLOR_MAGENTA);
PHP_NCURSES_CONST(COLOR_CYAN);
PHP_NCURSES_CONST(COLOR_WHITE);
-
+
/* keyboard constants */
PHP_NCURSES_CONST(KEY_DOWN);
PHP_NCURSES_CONST(KEY_UP);
PHP_NCURSES_CONST(KEY_LEFT);
PHP_NCURSES_CONST(KEY_RIGHT);
PHP_NCURSES_CONST(KEY_BACKSPACE);
+ PHP_NCURSES_CONST(KEY_MOUSE);
+ PHP_NCURSES_CONST(KEY_F0);
+
+
+ /* TODO:this macro sux, we have 65 function key,
+ so we need a little loop */
+ PHP_NCURSES_FKEY_CONST(1);
+ PHP_NCURSES_FKEY_CONST(2);
+ PHP_NCURSES_FKEY_CONST(3);
+ PHP_NCURSES_FKEY_CONST(4);
+ PHP_NCURSES_FKEY_CONST(5);
+ PHP_NCURSES_FKEY_CONST(6);
+ PHP_NCURSES_FKEY_CONST(7);
+ PHP_NCURSES_FKEY_CONST(8);
+ PHP_NCURSES_FKEY_CONST(9);
+ PHP_NCURSES_FKEY_CONST(10);
+ PHP_NCURSES_FKEY_CONST(11);
+ PHP_NCURSES_FKEY_CONST(12);
+
+ PHP_NCURSES_CONST(KEY_DL);
+ PHP_NCURSES_CONST(KEY_IL);
+ PHP_NCURSES_CONST(KEY_DC);
+ PHP_NCURSES_CONST(KEY_IC);
+ PHP_NCURSES_CONST(KEY_EIC);
+ PHP_NCURSES_CONST(KEY_CLEAR);
+ PHP_NCURSES_CONST(KEY_EOS);
+ PHP_NCURSES_CONST(KEY_EOL);
+ PHP_NCURSES_CONST(KEY_SF);
+ PHP_NCURSES_CONST(KEY_SR);
+ PHP_NCURSES_CONST(KEY_NPAGE);
+ PHP_NCURSES_CONST(KEY_PPAGE);
+ PHP_NCURSES_CONST(KEY_STAB);
+ PHP_NCURSES_CONST(KEY_CTAB);
+ PHP_NCURSES_CONST(KEY_CATAB);
+ PHP_NCURSES_CONST(KEY_ENTER);
+ PHP_NCURSES_CONST(KEY_SRESET);
+ PHP_NCURSES_CONST(KEY_RESET);
+ PHP_NCURSES_CONST(KEY_PRINT);
+ PHP_NCURSES_CONST(KEY_LL);
+ PHP_NCURSES_CONST(KEY_A1);
+ PHP_NCURSES_CONST(KEY_A3);
+ PHP_NCURSES_CONST(KEY_B2);
+ PHP_NCURSES_CONST(KEY_C1);
+ PHP_NCURSES_CONST(KEY_C3);
+ PHP_NCURSES_CONST(KEY_BTAB);
+ PHP_NCURSES_CONST(KEY_BEG);
+ PHP_NCURSES_CONST(KEY_CANCEL);
+ PHP_NCURSES_CONST(KEY_CLOSE);
+ PHP_NCURSES_CONST(KEY_COMMAND);
+ PHP_NCURSES_CONST(KEY_COPY);
+ PHP_NCURSES_CONST(KEY_CREATE);
+ PHP_NCURSES_CONST(KEY_END);
+ PHP_NCURSES_CONST(KEY_EXIT);
+ PHP_NCURSES_CONST(KEY_FIND);
+ PHP_NCURSES_CONST(KEY_HELP);
+ PHP_NCURSES_CONST(KEY_MARK);
+ PHP_NCURSES_CONST(KEY_MESSAGE);
+ PHP_NCURSES_CONST(KEY_MOVE);
+ PHP_NCURSES_CONST(KEY_NEXT);
+ PHP_NCURSES_CONST(KEY_OPEN);
+ PHP_NCURSES_CONST(KEY_OPTIONS);
+ PHP_NCURSES_CONST(KEY_PREVIOUS);
+ PHP_NCURSES_CONST(KEY_REDO);
+ PHP_NCURSES_CONST(KEY_REFERENCE);
+ PHP_NCURSES_CONST(KEY_REFRESH);
+ PHP_NCURSES_CONST(KEY_REPLACE);
+ PHP_NCURSES_CONST(KEY_RESTART);
+ PHP_NCURSES_CONST(KEY_RESUME);
+ PHP_NCURSES_CONST(KEY_SAVE);
+ PHP_NCURSES_CONST(KEY_SBEG);
+ PHP_NCURSES_CONST(KEY_SCANCEL);
+ PHP_NCURSES_CONST(KEY_SCOMMAND);
+ PHP_NCURSES_CONST(KEY_SCOPY);
+ PHP_NCURSES_CONST(KEY_SCREATE);
+ PHP_NCURSES_CONST(KEY_SDC);
+ PHP_NCURSES_CONST(KEY_SDL);
+ PHP_NCURSES_CONST(KEY_SELECT);
+ PHP_NCURSES_CONST(KEY_SEND);
+ PHP_NCURSES_CONST(KEY_SEOL);
+ PHP_NCURSES_CONST(KEY_SEXIT);
+ PHP_NCURSES_CONST(KEY_SFIND);
+ PHP_NCURSES_CONST(KEY_SHELP);
+ PHP_NCURSES_CONST(KEY_SHOME);
+ PHP_NCURSES_CONST(KEY_SIC);
+ PHP_NCURSES_CONST(KEY_SLEFT);
+ PHP_NCURSES_CONST(KEY_SMESSAGE);
+ PHP_NCURSES_CONST(KEY_SMOVE);
+ PHP_NCURSES_CONST(KEY_SNEXT);
+ PHP_NCURSES_CONST(KEY_SOPTIONS);
+ PHP_NCURSES_CONST(KEY_SPREVIOUS);
+ PHP_NCURSES_CONST(KEY_SPRINT);
+ PHP_NCURSES_CONST(KEY_SREDO);
+ PHP_NCURSES_CONST(KEY_SREPLACE);
+ PHP_NCURSES_CONST(KEY_SRIGHT);
+ PHP_NCURSES_CONST(KEY_SRSUME);
+ PHP_NCURSES_CONST(KEY_SSAVE);
+ PHP_NCURSES_CONST(KEY_SSUSPEND);
+ PHP_NCURSES_CONST(KEY_SUNDO);
+ PHP_NCURSES_CONST(KEY_SUSPEND);
+ PHP_NCURSES_CONST(KEY_UNDO);
+ PHP_NCURSES_CONST(KEY_MOUSE);
+ PHP_NCURSES_CONST(KEY_RESIZE);
+
+ /* screen attribute constants */
+ PHP_NCURSES_CONST(A_NORMAL);
+ PHP_NCURSES_CONST(A_STANDOUT);
+ PHP_NCURSES_CONST(A_UNDERLINE);
+ PHP_NCURSES_CONST(A_REVERSE);
+ PHP_NCURSES_CONST(A_BLINK);
+ PHP_NCURSES_CONST(A_DIM);
+ PHP_NCURSES_CONST(A_BOLD);
+ PHP_NCURSES_CONST(A_PROTECT);
+ PHP_NCURSES_CONST(A_INVIS);
+ PHP_NCURSES_CONST(A_ALTCHARSET);
+ PHP_NCURSES_CONST(A_CHARTEXT);
/* mouse constants */
PHP_NCURSES_CONST(BUTTON1_PRESSED);
@@ -123,8 +240,7 @@ PHP_MINIT_FUNCTION(ncurses)
PHP_NCURSES_CONST(ALL_MOUSE_EVENTS);
PHP_NCURSES_CONST(REPORT_MOUSE_POSITION);
-
- le_ncurses = zend_register_list_destructors_ex(ncurses_destruct, NULL, "ncurses_handle", module_number);
+ le_ncurses = zend_register_list_destructors_ex(ncurses_destruct, NULL, "ncurses_handle", module_number);
return SUCCESS;
}
@@ -162,6 +278,12 @@ PHP_MINFO_FUNCTION(ncurses)
{
php_info_print_table_start();
php_info_print_table_header(2, "ncurses support", "enabled");
+ php_info_print_table_row(2, "ncurses library version", NCURSES_VERSION);
+#ifdef HAVE_NCURSES_COLOR_SET
+ php_info_print_table_row(2, "color support", "yes");
+#else
+ php_info_print_table_row(2, "color support", "no");
+#endif
php_info_print_table_end();
/* Remove comments if you have entries in php.ini