Fonctions | |
| long | FredCountDownStart (long uS) |
| Initier un décomptage. | |
| long | FredCountDownStop () |
| Arrêter un décomptage. | |
| long int | FredCountDownGet () |
| Lecture du décompteur. | |
| void | FredCountDownAttach (void(*handler)(int)) |
| Attache un traitant de fin de décomptage. | |
|
|
Implantation L'implantation UNIX est très simple. Il suffit d'attacher le traitant au signal SIGVTALRM associé compteur ITIMER_VIRTUAL.
00104 {
00105 FredSignalAttach(SIGVTALRM,handler);
00106 }
|
|
|
Implantation L'implantation UNIX est très simple. Il suffit de lirer le compteur ITIMER_VIRTUAL .
00085 {
00086 struct itimerval old;
00087 getitimer((int)ITIMER_VIRTUAL,&old);
00088 /* temps restant à décompter */
00089 return old.it_value.tv_usec;
00090 }
|
|
|
Implantation L'implantation UNIX est très simple. Il suffit de charger le compteur ITIMER_VIRTUAL avec la valeur donnée.
00032 {
00033 struct itimerval q;struct itimerval old;
00034 /* décomptage coup par coup :
00035 un décomptage à la fois et arrêt du timer en fin de décompte */
00036 q.it_interval.tv_sec=0;
00037 q.it_interval.tv_usec=0;
00038 /* duree du decomptage */
00039 q.it_value.tv_sec=0;
00040 q.it_value.tv_usec = uS ;
00041 setitimer((int)ITIMER_VIRTUAL,&q,&old);
00042 return old.it_value.tv_usec;
00043 }
|
|
|
Implantation L'implantation UNIX est très simple. Il suffit de charger le compteur ITIMER_VIRTUAL avec la valeur 0 qui l'arrête.
00059 {
00060 struct itimerval q;struct itimerval old;
00061 /* décomptage coup par coup :
00062 un décomptage à la fois et arrêt du timer */
00063 q.it_interval.tv_sec=0;
00064 q.it_interval.tv_usec=0;
00065 /* duree du decomptage */
00066 q.it_value.tv_sec=0;
00067 q.it_value.tv_usec = 0 ;
00068 setitimer((int)ITIMER_VIRTUAL,&q,&old);
00069 /* temps restant à décompter */
00070 return old.it_value.tv_usec;
00071 }
|
1.2.17