8ba85f1e8410b00db61ec790ab445e9bddc8ba35
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / build / magpie_1_1 / sboot / cmnos / tasklet / inc / tasklet_api.h
1 #ifndef __TASKLET_API_H__
2 #define __TASKLET_API_H__
3
4 //typedef int A_tasklet_t;
5
6 typedef void (*A_TASKLET_FUNC)(void *arg);
7
8 #define A_TASKLET_STATE_DISABLE         0
9 #define A_TASKLET_STATE_SCHEDULED       1
10 #define A_TASKLET_STATE_RUNNING         2
11
12 struct _tasklet {
13     A_TASKLET_FUNC func;
14     void *arg;
15     int  state;
16     struct _tasklet *next;
17 };
18
19 typedef struct _tasklet A_tasklet_t;
20
21 struct tasklet_api {
22     void (* _tasklet_init)(void);
23     void (* _tasklet_init_task)(A_TASKLET_FUNC, void * arg, A_tasklet_t *);
24     void (* _tasklet_disable)(A_tasklet_t *);
25     void (* _tasklet_schedule)(A_tasklet_t *);
26     void (* _tasklet_run)(void);
27 };
28 #endif /* __TASKLET_API_H__ */