diff options
Diffstat (limited to 'contrib/syslinux-4.02/gpxe/src/util/mucurses_test.c')
-rw-r--r-- | contrib/syslinux-4.02/gpxe/src/util/mucurses_test.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/gpxe/src/util/mucurses_test.c b/contrib/syslinux-4.02/gpxe/src/util/mucurses_test.c new file mode 100644 index 0000000..586562d --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/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[17], pw2[17]; + 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, 16 ); + wmove( secret, 8, 12 ); + wgetnstr( secret, pw2, 16 ); + + 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 ); +} |