-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathmytimer.h
More file actions
67 lines (49 loc) · 1.76 KB
/
mytimer.h
File metadata and controls
67 lines (49 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* =====================================================================
Copyright © 2016, Avnet (R)
www.avnet.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific
language governing permissions and limitations under the License.
@file mytimer.h
@version 1.0
@date Sept 2017
======================================================================== */
#ifndef TIME_H
#define TIME_H
#include <stdlib.h>
#include <unistd.h>
typedef void (*time_handler)(size_t timer_id, void * user_data);
typedef enum
{
TIMER_SINGLE_SHOT = 0, /*Periodic Timer*/
TIMER_PERIODIC /*Single Shot Timer*/
} t_timer;
struct timer_node
{
int fd;
time_handler callback;
void * user_data;
unsigned int interval;
t_timer type;
struct timer_node * next;
};
#ifdef __cplusplus
extern "C" {
#endif
extern int active_IoTtimer();
extern int start_IoTtimers();
extern void stop_IoTtimers();
extern size_t create_IoTtimer(unsigned int interval, time_handler handler, t_timer type, void * user_data);
extern size_t create_ms_IoTtimer(unsigned int interval, time_handler handler, t_timer type, void * user_data);
extern void delete_IoTtimer(size_t timer_id);
extern void change_IoTtimer(size_t timer_id, int newperiod);
#ifdef __cplusplus
}
#endif
#endif