]>
Commit | Line | Data |
---|---|---|
c7de829c WD |
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 | * critical error handler. | |
30 | * | |
31 | * Functions tested: PM_installAltCriticalHandler() | |
32 | * PM_restoreCriticalHandler() | |
33 | * | |
34 | * | |
35 | ****************************************************************************/ | |
36 | ||
37 | #include <stdlib.h> | |
38 | #include <stdio.h> | |
39 | #include "pmapi.h" | |
40 | ||
41 | int main(void) | |
42 | { | |
43 | FILE *f; | |
44 | int axcode,dicode; | |
45 | ||
46 | printf("Program running in "); | |
47 | switch (PM_getModeType()) { | |
8bde7f77 WD |
48 | case PM_realMode: |
49 | printf("real mode.\n\n"); | |
50 | break; | |
51 | case PM_286: | |
52 | printf("16 bit protected mode.\n\n"); | |
53 | break; | |
54 | case PM_386: | |
55 | printf("32 bit protected mode.\n\n"); | |
56 | break; | |
57 | } | |
c7de829c WD |
58 | |
59 | PM_installCriticalHandler(); | |
60 | printf("Critical Error handler installed - trying to read from A: drive...\n"); | |
61 | f = fopen("a:\bog.bog","rb"); | |
62 | if (f) fclose(f); | |
63 | if (PM_criticalError(&axcode,&dicode,1)) { | |
8bde7f77 WD |
64 | printf("Critical error occured on INT 21h function %02X!\n", |
65 | axcode >> 8); | |
66 | } | |
c7de829c WD |
67 | else printf("Critical error was not caught!\n"); |
68 | PM_restoreCriticalHandler(); | |
69 | return 0; | |
70 | } |