00001 // //////////////////////////////////////////////////////////////////////////// 00002 // //////////////////////////////////////////////////////////////////////////// 00027 // //////////////////////////////////////////////////////////////////////////// 00028 // //////////////////////////////////////////////////////////////////////////// 00029 00030 00031 #ifndef BOOTUP_H 00032 00033 #define BOOTUP_H 00034 00035 00036 // //////////////////////////////////////////////////////////////////////////// 00037 // Includes 00038 // //////////////////////////////////////////////////////////////////////////// 00039 00040 #include <stdio.h> 00041 #include "main.h" 00042 #include "ipset.h" 00043 #include "eeprom_adds.h" 00044 00045 00046 // //////////////////////////////////////////////////////////////////////////// 00047 // Defines 00048 // //////////////////////////////////////////////////////////////////////////// 00049 00050 #ifdef BOOTUP_C 00051 #define PROTO 00052 #else 00053 #define PROTO extern 00054 #endif 00055 00056 00060 #ifdef __DEBUG 00061 #define HOSTNAME ((ROM BYTE *) "ew7c4000") 00062 #else // Located in bootloader... 00063 #define HOSTNAME ((ROM BYTE *) 0x01fbf0) 00064 #endif 00065 00066 00067 // //////////////////////////////////////////////////////////////////////////// 00068 // Typedefs 00069 // //////////////////////////////////////////////////////////////////////////// 00070 00071 00075 typedef struct __attribute__((__packed__)) _IP_CONFIG 00076 { 00077 IP_ADDR MyIPAddr; 00078 IP_ADDR MyMask; 00079 IP_ADDR MyGateway; 00080 struct 00081 { 00082 unsigned char : 7; 00083 unsigned char bIPunique : 1; 00084 } Flags; 00085 } IP_CONFIG; 00086 00087 00091 typedef struct 00092 { 00093 unsigned char : 7; 00094 00096 unsigned char bIsDHCPEnabled : 1; 00097 } sIPFlags; 00098 00099 00101 typedef enum 00102 { 00103 SRCP_PROJECT = 0xFF, 00104 ROCRAIL_PROJECT 00105 } eWichtProjects; 00106 00107 00112 typedef struct __attribute__((__packed__)) 00113 { 00114 IP_ADDR ManIPAddr; 00115 BYTE ManMask; 00116 IP_ADDR ManGateway; 00117 IP_ADDR LastAutoIP; 00118 sIPFlags Flags; 00119 00122 BYTE u8LCDLight; 00123 00127 DWORD u32VersionTag; 00128 00132 eWichtProjects TargetProject; 00133 00136 BYTE u8LanguageID; 00137 00138 } PCOMMON_CONFIG; 00139 00140 00141 // //////////////////////////////////////////////////////////////////////////// 00142 // Global variables 00143 // //////////////////////////////////////////////////////////////////////////// 00144 00148 PROTO IP_CONFIG sIPConfig; 00149 00156 PROTO PCOMMON_CONFIG sPCommonConfig; 00157 00158 00159 // //////////////////////////////////////////////////////////////////////////// 00160 // Global function prototypes 00161 // //////////////////////////////////////////////////////////////////////////// 00162 00163 // //////////////////////////////////////////////////////////////////////////// 00177 void BootupInit(void); 00178 00179 00180 // //////////////////////////////////////////////////////////////////////////// 00210 BOOL bBootupMain(void); 00211 00212 00213 // //////////////////////////////////////////////////////////////////////////// 00229 void BootupSetIP(void); 00230 00231 00232 // //////////////////////////////////////////////////////////////////////////// 00247 void BootupResetToFactory(void); 00248 00249 00250 // //////////////////////////////////////////////////////////////////////////// 00256 void BootupEnterBootloader(void); 00257 00258 00259 // //////////////////////////////////////////////////////////////////////////// 00264 void BootupRestoreState(void); 00265 00266 00267 // //////////////////////////////////////////////////////////////////////////// 00268 // Epilogue 00269 // //////////////////////////////////////////////////////////////////////////// 00270 00273 #undef PROTO 00274 00275 #endif // #ifndef BOOTUP_H
1.5.5