FireBirdLib - Topfield TMS PVR TAP Programming Library
cronRegisterEvent.c
Go to the documentation of this file.
1#include <stdlib.h>
2#include "FBLib_time.h"
3
4extern int cronItemCount;
6extern bool cronInit;
7
8int cronRegisterEvent(long frequency, dword firstExecution, void *callback)
9{
10 TRACEENTER();
11
12 bool ret;
13 int i;
14 TYPE_CRONTAB *pcronTable;
15 ret = -1;
16
18
19 if((cronItemCount < MAX_CRON_EVENTS) && (frequency) && (callback))
20 {
21 pcronTable = cronTable;
22 for(i = 0; i <= MAX_CRON_EVENTS-1; i++)
23 {
24 if(!cronTable[i].active)
25 {
26 pcronTable->active = TRUE;
27 pcronTable->function = callback;
28 pcronTable->frequency = frequency;
29 if(!firstExecution) firstExecution = TAP_GetTick() + abs(frequency);
30 pcronTable->nextExecution = firstExecution;
32 ret = i;
33 break;
34 }
35 pcronTable++;
36 }
37 }
38
39 TRACEEXIT();
40 return ret;
41}
#define MAX_CRON_EVENTS
Definition: FBLib_time.h:25
int cronRegisterEvent(long frequency, dword firstExecution, void *callback)
TYPE_CRONTAB cronTable[MAX_CRON_EVENTS]
bool cronInit
int cronItemCount
#define TRACEEXIT()
Definition: libFireBird.h:1244
void cronUnregisterAllEvents(void)
#define TRACEENTER()
Definition: libFireBird.h:1243
void * function
Definition: FBLib_time.h:21
dword nextExecution
Definition: FBLib_time.h:20