HPGCC3 Documentation 3.0 R003
|
00001 //& *** (c) 2006-2011 The HPGCC3 Team *** 00002 //& Claudio Lapilli 00003 //& Ingo Blank 00004 //& 00005 //& This file is licensed under the terms and conditions of the 00006 //& HPGCC3 license that is included with the source distribution. 00007 //& *** (c) 2006-2011 The HPGCC3 Team *** 00008 00009 00010 #ifndef __MASTER_GLOBALS_H 00011 #define __MASTER_GLOBALS_H 00012 00013 // $Id: master_globals.h 514 2007-11-18 03:11:26Z ingo $ 00014 00015 #include <sys.h> 00016 #include <stdio.h> 00017 #include <conio.h> 00018 #include <sat3.h> 00019 #include <keyb.h> 00020 00021 #ifndef __HPGRAPHICS_TYPE_DEFINED 00022 #define __HPGRAPHICS_TYPE_DEFINED 1 00023 // TYPE DEFINITIONS NEEDED FOR HPG 00024 struct hpg_graphics; 00025 typedef struct hpg_graphics hpg_t; 00026 #endif 00027 00028 00029 typedef struct { 00030 00031 // ***************************** 00032 // STRING FUNCTIONS STATE 00033 // ***************************** 00034 00035 // strtok() 00036 char * __strtok_save; 00037 // < ibl ; 2006-11-30 > 00038 00039 00040 // ***************************** 00041 // MATH FUNCTIONS STATE 00042 // ***************************** 00043 00044 // < ibl ; 2006-04-03 > 00045 00046 // gauss() 00047 int __gauss_have_next_gaussian; 00048 double __gauss_next_gaussian; 00049 00050 // ***************************** 00051 // RANDOM NUMBER GENERATOR 00052 // ***************************** 00053 00054 // < ibl ; 2006-04-03 > 00055 unsigned long long __mwc_w; 00056 00057 00058 00059 00060 // ***************************** 00061 // STDIO AND SCREEN-RELATED GLOBALS 00062 // ***************************** 00063 00064 unsigned int __console_type; // TYPE OF CONSOLE TO USE 0=NO CONSOLE (/dev/null) 1=OLD-STYLE, 2=GUI CONSOLE 00065 _CONSOLE_GLOBALS *__console_vars; // OLD-STYLE CONSOLE EXTERNAL VARIABLES 00066 void *ConsPtr; // NEW CONSOLE OBJECT - USE (void *) TO AVOID DECLARING THE CLASS HERE 00067 00068 00069 // ***************************** 00070 // HEAP MANAGEMENT 00071 // ***************************** 00072 00073 00074 char *__heap_ptr; 00075 void *_malloc_bottom , *_malloc_top , *_malloc_empty; 00076 00077 // ***************************** 00078 // INTERRUPT STATE 00079 // ***************************** 00080 00081 00082 unsigned int __saveint; 00083 00084 00085 // ***************************** 00086 // EXIT AND RELATED GLOBALS 00087 // ***************************** 00088 00089 00090 unsigned int *__exit_stk_state; 00091 00092 unsigned int errno; 00093 00094 ATEXIT_ENTRY *__at_exit_vector; 00095 int _exit_lock; 00096 00097 //OPEN_LIST_ENTRY *__open_file_list; 00098 00099 // ***************************** 00100 // VARIABLES USED BY LOADER/CRT0 00101 // ***************************** 00102 00103 unsigned int _heap_base_addr; 00104 unsigned int _mmu_table_entries; 00105 SAT_CPU *_saturn_cpu; 00106 00107 00108 // ********************************* 00109 // VARIABLES USED BY THE HPG LIBRARY 00110 // ********************************* 00111 00112 //hpg_t main_hpg; 00113 int inited; 00114 hpg_t *hpg_stdscreen; 00115 00116 // ************************************* 00117 // VARIABLES USED BY THE TIMER MACHINERY 00118 // ************************************* 00119 00120 volatile ULONGLONG __systmr; 00121 volatile ULONGLONG __evtmr; 00122 ULONGLONG __sysfreq; 00123 timed_event tmr_events[NUM_EVENTS]; 00124 00125 00126 // **************************************** 00127 // VARIABLES USED BY THE KEYBOARD MACHINERY 00128 // **************************************** 00129 00130 unsigned short int __keyb_buffer[KEYB_BUFFER]; 00131 int __keyflags; 00132 int __kused,__kcurrent; 00133 keymatrix __kmat; 00134 int __keyplane; 00135 int __keynumber,__keycount; 00136 int __keyb_repeattime,__keyb_longpresstime,__keyb_debounce; 00137 00138 } MASTER_GLOBALS ; 00139 00140 00141 extern MASTER_GLOBALS *__mg; 00142 00143 00144 00145 #endif 00146