diff options
author | Andris Zeila <andris.zeila@zabbix.com> | 2016-12-14 14:51:33 +0300 |
---|---|---|
committer | Andris Zeila <andris.zeila@zabbix.com> | 2016-12-14 14:51:33 +0300 |
commit | ead1535107b8724df782cea6d25dab346933db95 (patch) | |
tree | 84b43f000e7d3290c80c430e35539a8596e4dc7b /include/zbxalgo.h | |
parent | eca0b84d8459a042188b03baef65f14f6c35357c (diff) |
........S. [ZBXNEXT-3386] added fifo queue of pointers
Diffstat (limited to 'include/zbxalgo.h')
-rw-r--r-- | include/zbxalgo.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/zbxalgo.h b/include/zbxalgo.h index 3aabb7f2ed2..d09d8889f12 100644 --- a/include/zbxalgo.h +++ b/include/zbxalgo.h @@ -374,4 +374,25 @@ int zbx_mode_code(char *mode_str, zbx_mode_t *mode, char **error); double zbx_forecast(double *t, double *x, int n, double now, double time, zbx_fit_t fit, unsigned k, zbx_mode_t mode); double zbx_timeleft(double *t, double *x, int n, double now, double threshold, zbx_fit_t fit, unsigned k); + +/* fifo queue of pointers */ + +typedef struct +{ + void **values; + int alloc_num; + int head_pos; + int tail_pos; +} +zbx_queue_ptr_t; + +int zbx_queue_ptr_values_num(zbx_queue_ptr_t *queue); +void zbx_queue_ptr_reserve(zbx_queue_ptr_t *queue, int num); +void zbx_queue_ptr_compact(zbx_queue_ptr_t *queue); +void zbx_queue_ptr_create(zbx_queue_ptr_t *queue); +void zbx_queue_ptr_destroy(zbx_queue_ptr_t *queue); +void zbx_queue_ptr_push(zbx_queue_ptr_t *queue, void *elem); +void *zbx_queue_ptr_pop(zbx_queue_ptr_t *queue); + + #endif |