diff options
author | Dan Lynch <danjlynch@users.sourceforge.net> | 2006-06-27 17:31:01 +0000 |
---|---|---|
committer | Dan Lynch <danjlynch@users.sourceforge.net> | 2006-06-27 17:31:01 +0000 |
commit | 2b15084388eb93794c3396daebc8c7dc0440a3a5 (patch) | |
tree | d153d233e373a46868f1eb6818564aa95e4c0617 /src/util/mucurses_test.c | |
parent | 0bcaa8a21f95027617ca6fe438b187d638634bac (diff) | |
download | ipxe-2b15084388eb93794c3396daebc8c7dc0440a3a5.tar.gz |
- first check-in for mucurses_test.c
- added mucurses_test.c build targets
Diffstat (limited to 'src/util/mucurses_test.c')
-rw-r--r-- | src/util/mucurses_test.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/util/mucurses_test.c b/src/util/mucurses_test.c new file mode 100644 index 000000000..85c9a3b73 --- /dev/null +++ b/src/util/mucurses_test.c @@ -0,0 +1,63 @@ +#include "../include/curses.h" +#include <string.h> +#include <unistd.h> +#include <stdlib.h> + +void get_iscsi_chap_secret( char * ); +void mdelay( int msecs ); + +int main ( void ) { + char secret[16]; + initscr(); + echo(); + werase(stdscr); + box( stdscr, '|', '-' ); + get_iscsi_chap_secret(secret); + + mvwprintw( stdscr, 3, 5, "password is \"%s\"", secret ); + mdelay(2500); + + stdscr->scr->exit(stdscr->scr); + + return 0; +} + +void get_iscsi_chap_secret( char *sec ) { + char *title = "Set new iSCSI CHAP secret", + *msg = "Configure the iSCSI access secret", + pw1[16], pw2[16]; + WINDOW *secret; + + secret = newwin( stdscr->height / 2, + stdscr->width / 2, + stdscr->height / 4, + stdscr->width / 4 ); + + wborder( secret, '|', '|', '-', '-', '+', '+', '+', '+' ); + mvwprintw( secret, 1, 2, "%s", title ); + mvwhline( secret, 2, 1, '-' | secret->attrs, secret->width - 2 ); + mvwprintw( secret, 4, 2, "%s", msg ); + mvwprintw( secret, 6, 3, "secret" ); + mvwprintw( secret, 8, 3, "confirm" ); + start: + mvwhline( secret, 6, 12, '_' | secret->attrs, 16 ); + mvwhline( secret, 8, 12, '_' | secret->attrs, 16 ); + + wmove( secret, 6, 12 ); + wgetnstr( secret, pw1, 12 ); + wmove( secret, 8, 12 ); + wgetnstr( secret, pw2, 12 ); + + if ( strcmp( pw1, pw2 ) == 0 ) { + strcpy( sec, pw1 ); + werase( secret ); + } + else { + mvwprintw( secret, 10, 3, "Passwords do not match" ); + goto start; + } +} + +void mdelay ( int msecs ) { + usleep( msecs * 1000 ); +} |