source: bootcd/isolinux/syslinux-6.03/gpxe/src/util/mucurses_test.c

Last change on this file was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 1.4 KB
Line 
1#include "../include/curses.h"
2#include <string.h>
3#include <unistd.h>
4#include <stdlib.h>
5
6void get_iscsi_chap_secret( char * );
7void mdelay( int msecs );
8
9int main ( void ) {
10        char secret[16];
11        initscr();
12        echo();
13        werase(stdscr);
14        box( stdscr, '|', '-' );
15        get_iscsi_chap_secret(secret);
16
17        mvwprintw( stdscr, 3, 5, "password is \"%s\"", secret );
18        mdelay(2500);
19
20        stdscr->scr->exit(stdscr->scr);
21
22        return 0;
23}
24
25void get_iscsi_chap_secret( char *sec ) {
26        char    *title = "Set new iSCSI CHAP secret",
27                *msg = "Configure the iSCSI access secret",
28                pw1[17], pw2[17];
29        WINDOW *secret;
30
31        secret = newwin( stdscr->height / 2,
32                         stdscr->width / 2,
33                         stdscr->height / 4,
34                         stdscr->width / 4 );
35
36        wborder( secret, '|', '|', '-', '-', '+', '+', '+', '+' );
37        mvwprintw( secret, 1, 2, "%s", title );
38        mvwhline( secret, 2, 1, '-' | secret->attrs, secret->width - 2 );
39        mvwprintw( secret, 4, 2, "%s", msg );
40        mvwprintw( secret, 6, 3, "secret" );
41        mvwprintw( secret, 8, 3, "confirm" );
42 start:
43        mvwhline( secret, 6, 12, '_' | secret->attrs, 16 );
44        mvwhline( secret, 8, 12, '_' | secret->attrs, 16 );
45
46        wmove( secret, 6, 12 );
47        wgetnstr( secret, pw1, 16 );
48        wmove( secret, 8, 12 );
49        wgetnstr( secret, pw2, 16 );
50
51        if ( strcmp( pw1, pw2 ) == 0 ) {
52                strcpy( sec, pw1 );
53                werase( secret );
54        }
55        else {
56                mvwprintw( secret, 10, 3, "Passwords do not match" );
57                goto start;
58        }
59}
60
61void mdelay ( int msecs ) {
62        usleep( msecs * 1000 );
63}
Note: See TracBrowser for help on using the repository browser.