Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndris Zeila <andris.zeila@zabbix.com>2016-12-14 14:51:33 +0300
committerAndris Zeila <andris.zeila@zabbix.com>2016-12-14 14:51:33 +0300
commitead1535107b8724df782cea6d25dab346933db95 (patch)
tree84b43f000e7d3290c80c430e35539a8596e4dc7b /include/zbxalgo.h
parenteca0b84d8459a042188b03baef65f14f6c35357c (diff)
........S. [ZBXNEXT-3386] added fifo queue of pointers
Diffstat (limited to 'include/zbxalgo.h')
-rw-r--r--include/zbxalgo.h21
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