Coding style cleanup
[platform/kernel/u-boot.git] / board / MAI / bios_emulator / scitech / src / pm / tests / altbrk.c
1 /****************************************************************************
2 *
3 *                   SciTech OS Portability Manager Library
4 *
5 *  ========================================================================
6 *
7 *    The contents of this file are subject to the SciTech MGL Public
8 *    License Version 1.0 (the "License"); you may not use this file
9 *    except in compliance with the License. You may obtain a copy of
10 *    the License at http://www.scitechsoft.com/mgl-license.txt
11 *
12 *    Software distributed under the License is distributed on an
13 *    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
14 *    implied. See the License for the specific language governing
15 *    rights and limitations under the License.
16 *
17 *    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
18 *
19 *    The Initial Developer of the Original Code is SciTech Software, Inc.
20 *    All Rights Reserved.
21 *
22 *  ========================================================================
23 *
24 *
25 * Language:     ANSI C
26 * Environment:  any
27 *
28 * Description:  Test program to check the ability to install a C based
29 *               control C/break interrupt handler. Note that this
30 *               alternate version does not work with all extenders.
31 *
32 *               Functions tested:   PM_installAltBreakHandler()
33 *                                   PM_restoreBreakHandler()
34 *
35 *
36 ****************************************************************************/
37
38 #include <stdlib.h>
39 #include <stdio.h>
40 #include "pmapi.h"
41
42 volatile int breakHit = false;
43 volatile int ctrlCHit = false;
44
45 #pragma off (check_stack)           /* No stack checking under Watcom   */
46
47 void PMAPI breakHandler(uint bHit)
48 {
49     if (bHit)
50         breakHit = true;
51     else
52         ctrlCHit = true;
53 }
54
55 int main(void)
56 {
57     printf("Program running in ");
58     switch (PM_getModeType()) {
59         case PM_realMode:
60             printf("real mode.\n\n");
61             break;
62         case PM_286:
63             printf("16 bit protected mode.\n\n");
64             break;
65         case PM_386:
66             printf("32 bit protected mode.\n\n");
67             break;
68         }
69
70     PM_installAltBreakHandler(breakHandler);
71     printf("Control C/Break interrupt handler installed\n");
72     while (1) {
73         if (ctrlCHit) {
74             printf("Code termimated with Ctrl-C.\n");
75             break;
76             }
77         if (breakHit) {
78             printf("Code termimated with Ctrl-Break.\n");
79             break;
80             }
81         if (PM_kbhit() && PM_getch() == 0x1B) {
82             printf("No break code detected!\n");
83             break;
84             }
85         printf("Hit Ctrl-C or Ctrl-Break to exit!\n");
86         }
87
88     PM_restoreBreakHandler();
89     return 0;
90 }