Main Page   Compound List   File List   Compound Members   File Members  

FireTimer.h

Go to the documentation of this file.
00001 
00027 #ifndef FireTimer_H
00028 #define FireTimer_H
00029 
00030 #include <stdlib.h>
00031 
00032 #include "Err.h"
00033     
00034 /*
00035  *********************************************************
00036  * DEFINES, ENUMS
00037  *********************************************************
00038  */
00039  
00043 #define FIRE_TIMER_SECS_PER_MIN                         (60)
00044  
00048 #define FIRE_TIMER_SECS_PER_HOUR                        (3600)
00049 
00053 #define FIRE_TIMER_SECS_PER_DAY                         ((FIRE_TIMER_SECS_PER_HOUR) * 24)
00054 
00058 #define FIRE_TIMER_MIN_HOUR_DAY                         (0)
00059 
00063 #define FIRE_TIMER_MAX_HOUR_DAY                         (23)
00064 
00068 #define FIRE_TIMER_MIN_MO_YEAR                          (1)
00069 
00073 #define FIRE_TIMER_MAX_MO_YEAR                          (12)
00074 
00075 /*
00076  *********************************************************
00077  * STRUCTS, TYPEDEFS
00078  *********************************************************
00079  */
00080 
00084 typedef struct FireTimer_ FireTimer;
00085 
00089 struct FireTimer_   {
00091     int sim_start_yr;                               
00093     int sim_start_mo;
00095     int sim_start_dy;                                   
00097     int sim_start_hr;                                   
00099     int sim_end_yr;
00101     int sim_end_mo; 
00103     int sim_end_dy; 
00105     int sim_end_hr; 
00107     int sim_cur_yr;
00109     int sim_cur_mo;
00111     int sim_cur_dy; 
00113     int sim_cur_hr; 
00115     int sim_cur_secs;
00116     };
00117          
00118 /*
00119  *********************************************************
00120  * MACROS
00121  *********************************************************
00122  */
00123 
00127 #define FIRE_TIMER_HOUR_TO_SECS(hr)                     ((hr) * FIRE_TIMER_SECS_PER_HOUR)
00128 
00132 #define FIRE_TIMER_SECS_TO_HOUR(secs)                   ((secs) / FIRE_TIMER_SECS_PER_HOUR)
00133 
00137 #define FIRE_TIMER_MIN_TO_SECS(min)                     ((min) * FIRE_TIMER_SECS_PER_MIN)
00138 
00142 #define FIRE_TIMER_SECS_TO_MIN(secs)                    ((secs) / FIRE_TIMER_SECS_PER_MIN)
00143 
00147 #define FIRE_TIMER_SECS_TO_END_HOUR(secs)               (FIRE_TIMER_SECS_PER_HOUR - (secs))
00148 
00152 #define FIRE_TIMER_GET_MILITARY_TIME(ft)                ((((ft)->sim_cur_hr) * 100) + (FIRE_TIMER_SECS_TO_MIN((ft)->sim_cur_secs) % 60))
00153 
00154  
00155 /*
00156  *********************************************************
00157  * PUBLIC FUNCTIONS
00158  *********************************************************
00159  */
00160 
00176 FireTimer * InitFireTimer(int sim_start_yr, int sim_start_mo, int sim_start_dy, int sim_start_hr,
00177                           int sim_end_yr, int sim_end_mo, int sim_end_dy, int sim_end_hr);
00178 
00195 int FireTimerIncrementSeconds(FireTimer * ft, int secs);
00196 
00205 int FireTimerIsSimCurYearTimeExpired(FireTimer * ft);
00206 
00213 int FireTimerIsSimTimeExpired(FireTimer * ft);
00214 
00222 int FireTimerGetDaysInMonth(int mo);
00223 
00234 int FireTimerGetDaysDifftime(int mo1, int dy1, int mo2, int dy2);
00235 
00244 void FreeFireTimer(FireTimer * fs); 
00245  
00246 #endif FireTimer_H      /* end of FireTimer.h */

Generated at Fri Jun 22 00:46:51 2001 for HFire by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000