#include "libxl_osdeps.h" /* must come before any other headers */
#include <sys/un.h>
-#include <sys/queue.h>
#include <yajl/yajl_gen.h>
+#include "_libxl_list.h"
#include "libxl_internal.h"
/* #define DEBUG_RECEIVED */
qmp_callback_t callback;
void *opaque;
qmp_request_context *context;
- SIMPLEQ_ENTRY(callback_id_pair) next;
+ LIBXL_STAILQ_ENTRY(struct callback_id_pair) next;
} callback_id_pair;
struct libxl__qmp_handler {
uint32_t domid;
int last_id_used;
- SIMPLEQ_HEAD(callback_list, callback_id_pair) callback_list;
+ LIBXL_STAILQ_HEAD(callback_list, callback_id_pair) callback_list;
};
static int qmp_send(libxl__qmp_handler *qmp,
if (id_object) {
id = libxl__json_object_get_integer(id_object);
- SIMPLEQ_FOREACH(pp, &qmp->callback_list, next) {
+ LIBXL_STAILQ_FOREACH(pp, &qmp->callback_list, next) {
if (pp->id == id) {
return pp;
}
/* tell that the id have been processed */
qmp->wait_for_id = 0;
}
- SIMPLEQ_REMOVE(&qmp->callback_list, pp, callback_id_pair, next);
+ LIBXL_STAILQ_REMOVE(&qmp->callback_list, pp, callback_id_pair, next);
free(pp);
}
/* tell that the id have been processed */
qmp->wait_for_id = 0;
}
- SIMPLEQ_REMOVE(&qmp->callback_list, pp, callback_id_pair, next);
+ LIBXL_STAILQ_REMOVE(
+ &qmp->callback_list, pp, callback_id_pair, next);
free(pp);
}
return 0;
qmp->domid = domid;
qmp->timeout = 5;
- SIMPLEQ_INIT(&qmp->callback_list);
+ LIBXL_STAILQ_INIT(&qmp->callback_list);
return qmp;
}
callback_id_pair *tmp = NULL;
close(qmp->qmp_fd);
- SIMPLEQ_FOREACH(pp, &qmp->callback_list, next) {
+ LIBXL_STAILQ_FOREACH(pp, &qmp->callback_list, next) {
if (tmp)
free(tmp);
tmp = pp;
elm->callback = callback;
elm->opaque = opaque;
elm->context = context;
- SIMPLEQ_INSERT_TAIL(&qmp->callback_list, elm, next);
+ LIBXL_STAILQ_INSERT_TAIL(&qmp->callback_list, elm, next);
ret = libxl__strndup(gc, (const char*)buf, len);