shell_banner.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 FILE_LICENCE ( GPL2_OR_LATER );
00020
00021 #include <stdio.h>
00022 #include <console.h>
00023 #include <unistd.h>
00024 #include <config/general.h>
00025 #include <gpxe/keys.h>
00026 #include <gpxe/shell_banner.h>
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 int shell_banner ( void ) {
00040 int enter_shell = 0;
00041 int wait_count;
00042 int key;
00043
00044 if ( BANNER_TIMEOUT <= 0 ) {
00045 return enter_shell;
00046 }
00047
00048 printf ( "\nPress Ctrl-B for the gPXE command line..." );
00049
00050
00051 for ( wait_count = 0 ; wait_count < BANNER_TIMEOUT ; wait_count++ ) {
00052 if ( iskey() ) {
00053 key = getchar();
00054 if ( key == CTRL_B )
00055 enter_shell = 1;
00056 break;
00057 }
00058 mdelay(100);
00059 }
00060
00061
00062 printf ( "\r \r" );
00063
00064 return enter_shell;
00065 }