HPGCC3 Documentation 3.0 R003

master_globals.h

Go to the documentation of this file.
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